1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
|
.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2020 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. _wx.HVScrolledWindow:
==========================================================================================================================================
|phoenix_title| **wx.HVScrolledWindow**
==========================================================================================================================================
This window inherits all functionality of both vertical and horizontal, variable scrolled windows.
It automatically handles everything needed to scroll both axis simultaneously with both variable row heights and variable column widths.
In any case, this is a generalization of :ref:`wx.Scrolled` which can be only used when all rows and columns are the same size. It lacks some other :ref:`wx.Scrolled` features however, notably it can't scroll specific pixel sizes of the window or its exact client area size.
To use this class, you must derive from it and implement both the :meth:`~wx.HVScrolledWindow.OnGetRowHeight` and :meth:`~wx.HVScrolledWindow.OnGetColumnWidth` pure virtual methods to let the base class know how many rows and columns it should display. You also need to set the total rows and columns the window contains, but from that moment on the scrolling is handled entirely by :ref:`wx.HVScrolledWindow`. You only need to draw the visible part of contents in your ``OnPaint()`` method as usual. You should use :meth:`~wx.HVScrolledWindow.GetVisibleBegin` and :meth:`~wx.HVScrolledWindow.GetVisibleEnd` to select the lines to display. Note that the device context origin is not shifted so the first visible row and column always appear at the point (0, 0) in physical as well as logical coordinates.
.. seealso:: :ref:`wx.HScrolledWindow`, :ref:`wx.VScrolledWindow`
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html
<div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
<img id="toggleBlock-trigger" src="_static/images/closed.png"/>
Inheritance diagram for class <strong>HVScrolledWindow</strong>:
</div>
<div id="toggleBlock-summary" style="display:block;"></div>
<div id="toggleBlock-content" style="display:none;">
<p class="graphviz">
<center><img src="_static/images/inheritance/wx.HVScrolledWindow_inheritance.png" alt="Inheritance diagram of HVScrolledWindow" usemap="#dummy" class="inheritance"/></center>
<script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
<map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.HVScrolledWindow.html" title="wx.HVScrolledWindow" alt="" coords="101,315,269,344"/> <area shape="rect" id="node2" href="wx.Panel.html" title="wx.Panel" alt="" coords="71,237,151,267"/> <area shape="rect" id="node3" href="wx.VarHVScrollHelper.html" title="wx.VarHVScrollHelper" alt="" coords="177,237,341,267"/> <area shape="rect" id="node4" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node5" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node6" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node7" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> <area shape="rect" id="node8" href="wx.VarVScrollHelper.html" title="wx.VarVScrollHelper" alt="" coords="182,160,337,189"/> <area shape="rect" id="node9" href="wx.VarHScrollHelper.html" title="wx.VarHScrollHelper" alt="" coords="361,160,515,189"/> <area shape="rect" id="node10" href="wx.VarScrollHelperBase.html" title="wx.VarScrollHelperBase" alt="" coords="271,83,448,112"/> </map>
</p>
</div>
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.HVScrolledWindow.__init__` Default constructor, you must call :meth:`~HVScrolledWindow.Create` later.
:meth:`~wx.HVScrolledWindow.Create` Same as the non-default constructor, but returns a status code: ``True`` if ok, ``False`` if the window couldn't be created.
:meth:`~wx.HVScrolledWindow.GetClassDefaultAttributes`
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: wx.HVScrolledWindow(Panel, VarHVScrollHelper)
**Possible constructors**::
HVScrolledWindow()
HVScrolledWindow(parent, id=ID_ANY, pos=DefaultPosition,
size=DefaultSize, style=0, name=PanelNameStr)
This window inherits all functionality of both vertical and
horizontal, variable scrolled windows.
.. method:: __init__(self, *args, **kw)
|overload| Overloaded Implementations:
:html:`<hr class="overloadsep" /><br />`
**__init__** `(self)`
Default constructor, you must call :meth:`Create` later.
:html:`<hr class="overloadsep" /><br />`
**__init__** `(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0, name=PanelNameStr)`
This is the normal constructor, no need to call :meth:`Create` after using this constructor.
:param `parent`: The parent window, must not be ``None``.
:type `parent`: wx.Window
:param `id`: The identifier of this window, ``wx.ID_ANY`` by default.
:type `id`: wx.WindowID
:param `pos`: The initial window position.
:type `pos`: wx.Point
:param `size`: The initial window size.
:type `size`: wx.Size
:param `style`: The window style. There are no special style bits defined for this class.
:type `style`: long
:param `name`: The name for this window; usually not used.
:type `name`: string
.. note::
``HSCROLL`` and ``VSCROLL`` are always automatically added to the style, there is no need to specify it explicitly.
:html:`<hr class="overloadsep" /><br />`
.. method:: Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0, name=PanelNameStr)
Same as the non-default constructor, but returns a status code: ``True`` if ok, ``False`` if the window couldn't be created.
Just as with the constructor, the ``HSCROLL`` and ``VSCROLL`` styles are always used, there is no need to specify them explicitly.
:param `parent`:
:type `parent`: wx.Window
:param `id`:
:type `id`: wx.WindowID
:param `pos`:
:type `pos`: wx.Point
:param `size`:
:type `size`: wx.Size
:param `style`:
:type `style`: long
:param `name`:
:type `name`: string
:rtype: `bool`
.. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)
:param `variant`:
:type `variant`: wx.WindowVariant
:rtype: :ref:`wx.VisualAttributes`
|