for this style.}
\twocolitem{\windowstyle{wxDOUBLE\_BORDER}}{Displays a double border. Windows only.}
\twocolitem{\windowstyle{wxSUNKEN\_BORDER}}{Displays a sunken border.}
-\twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a sunken border.}
+\twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a raised border.}
\twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control.}
\twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint
events. Windows only.}
\twocolitem{\windowstyle{wxTAB\_TRAVERSAL}}{Use this to enable tab traversal for non-dialog windows.}
\twocolitem{\windowstyle{wxVSCROLL}}{Use this style to enable a vertical scrollbar.}
\twocolitem{\windowstyle{wxHSCROLL}}{Use this style to enable a horizontal scrollbar.}
+\twocolitem{\windowstyle{wxCLIP\_CHILDREN}}{Use this style to eliminate flicker caused by the background being
+repainted, then children being painted over them. Windows-only.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\constfunc{virtual void}{ClientToScreen}{\param{int* }{x}, \param{int* }{y}}
+\constfunc{virtual wxPoint}{ClientToScreen}{\param{const wxPoint\&}{ pt}}
+
Converts to screen coordinates from coordinates relative to this window.
\docparam{x}{A pointer to a integer value for the x coordinate. Pass the client coordinate in, and
\docparam{y}{A pointer to a integer value for the y coordinate. Pass the client coordinate in, and
a screen coordinate will be passed out.}
+\docparam{pt}{The client position for the second form of the function.}
+
\membersection{wxWindow::Close}\label{wxwindowclose}
\func{virtual bool}{Close}{\param{const bool}{ force = FALSE}}
\helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
\helpref{wxCloseEvent}{wxcloseevent}
+\membersection{wxWindow::ConvertDialogToPixels}\label{wxwindowconvertdialogtopixels}
+
+\func{wxPoint}{ConvertDialogToPixels}{\param{const wxPoint\&}{ pt}}
+
+\func{wxSize}{ConvertDialogToPixels}{\param{const wxSize\&}{ sz}}
+
+Converts a point or size from dialog units to pixels.
+
+For the x dimension, the dialog units are multiplied by the average character width
+and then divided by 4.
+
+For the y dimension, the dialog units are multiplied by the average character height
+and then divided by 8.
+
+\wxheading{Remarks}
+
+Dialog units are used for maintaining a dialog's proportions even if the font changes.
+Dialogs created using Dialog Editor optionally use dialog units.
+
+You can also use these functions programmatically. A convenience macro is defined:
+
+{\small
+\begin{verbatim}
+#define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt)
+\end{verbatim}
+}
+
+\wxheading{See also}
+
+\helpref{wxWindow::ConvertPixelsToDialog}{wxwindowconvertpixelstodialog}
+
+\membersection{wxWindow::ConvertPixelsToDialog}\label{wxwindowconvertpixelstodialog}
+
+\func{wxPoint}{ConvertPixelsToDialog}{\param{const wxPoint\&}{ pt}}
+
+\func{wxSize}{ConvertPixelsToDialog}{\param{const wxSize\&}{ sz}}
+
+Converts a point or size from pixels to dialog units.
+
+For the x dimension, the pixels are multiplied by 4 and then divided by the average
+character width.
+
+For the y dimension, the pixels are multipled by 8 and then divided by the average
+character height.
+
+\wxheading{Remarks}
+
+Dialog units are used for maintaining a dialog's proportions even if the font changes.
+Dialogs created using Dialog Editor optionally use dialog units.
+
+\wxheading{See also}
+
+\helpref{wxWindow::ConvertDialogToPixels}{wxwindowconvertdialogtopixels}
+
\membersection{wxWindow::Destroy}\label{wxwindowdestroy}
\func{virtual bool}{Destroy}{\void}
\helpref{wxWindow::SetFocus}{wxwindowsetfocus}
+\membersection{wxWindow::FindWindow}\label{wxwindowfindwindow}
+
+\func{wxWindow*}{FindWindow}{\param{long}{ id}}
+
+Find a child of this window, by identifier.
+
+\func{wxWindow*}{FindWindow}{\param{const wxString\&}{ name}}
+
+Find a child of this window, by name.
+
\membersection{wxWindow::Fit}\label{wxwindowfit}
\func{virtual void}{Fit}{\void}
\membersection{wxWindow::GetChildren}
-\func{wxList*}{GetChildren}{\void}
+\func{wxList\&}{GetChildren}{\void}
-Returns a pointer to the list of the window's children.
+Returns a reference to the list of the window's children.
\membersection{wxWindow::GetClientSize}\label{wxwindowgetclientsize}
\constfunc{virtual void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
+\constfunc{virtual wxSize}{GetClientSize}{\void}
+
This gets the size of the window `client area' in pixels. The client area is the
area which may be drawn on by the programmer, excluding title bar, border etc.
Returns a pointer to the button which is the default for this window, or NULL.
+\membersection{wxWindow::GetDropTarget}\label{wxwindowgetdroptarget}
+
+\constfunc{wxDropTarget*}{GetDropTarget}{\void}
+
+Returns the associated drop target, which may be NULL.
+
+\wxheading{See also}
+
+\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget},
+\helpref{Drag and drop overview}{wxdndoverview}
+
\membersection{wxWindow::GetEventHandler}\label{wxwindowgeteventhandler}
\constfunc{wxEvtHandler*}{GetEventHandler}{\void}
\membersection{wxWindow::GetFont}\label{wxwindowgetfont}
-\constfunc{wxFont*}{GetFont}{\void}
+\constfunc{wxFont\&}{GetFont}{\void}
-Returns a pointer to the font for this window.
+Returns a reference to the font for this window.
\wxheading{See also}
Returns the parent of the window, or NULL if there is no parent.
+\membersection{wxWindow::GetRect}\label{wxwindowgetrect}
+
+\constfunc{virtual wxRect}{GetRect}{\void}
+
+Returns the size and position of the window as a \helpref{wxRect}{wxrect} object.
+
\membersection{wxWindow::GetReturnCode}\label{wxwindowgetreturncode}
\func{int}{GetReturnCode}{\void}
\helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar}
-\membersection{wxWindow::GetSize}
+\membersection{wxWindow::GetSize}\label{wxwindowgetsize}
\constfunc{virtual void}{GetSize}{\param{int* }{width}, \param{int* }{height}}
+\constfunc{virtual wxSize}{GetSize}{\void}
+
This gets the size of the entire window in pixels.
\wxheading{Parameters}
\helpref{wxWindow::SetTitle}{wxwindowsettitle}
+\membersection{wxWindow::GetUpdateRegion}\label{wxwindowgetupdateregion}
+
+\constfunc{virtual wxRegion}{GetUpdateRegion}{\void}
+
+Returns the region specifying which parts of the window have been damaged. Should
+only be called within an \helpref{OnPaint}{wxwindowonpaint} event handler.
+
+\wxheading{See also}
+
+\helpref{wxRegion}{wxregion}, \helpref{wxRegionIterator}{wxregioniterator}, \helpref{wxWindow::OnPaint}{wxwindowonpaint}
+
\membersection{wxWindow::GetWindowStyleFlag}
\constfunc{long}{GetWindowStyleFlag}{\void}
\func{void}{Move}{\param{int}{ x}, \param{int}{ y}}
+\func{void}{Move}{\param{const wxPoint\&}{ pt}}
+
Moves the window to the given position.
\wxheading{Parameters}
\docparam{y}{Required y position.}
+\docparam{pt}{\helpref{wxPoint}{wxpoint} object representing the position.}
+
\wxheading{Remarks}
Implementations of SetSize can also implicitly implement the
\func{void}{OnChar}{\param{wxKeyEvent\&}{ event}}
-Called when the user has pressed a key.
+Called when the user has pressed a key, which has been translated into an ASCII value.
\wxheading{Parameters}
Note that the ASCII values do not have explicit key codes: they are passed as ASCII
values.
+Note that not all keypresses can be intercepted this way. If you wish to intercept special
+keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+\helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
+
Most, but not all, windows allow keypresses to be intercepted.
\wxheading{See also}
+\helpref{wxWindow::OnKeyDown}{wxwindowonkeydown}, \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup},\rtfsp
\helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
\helpref{Event handling overview}{eventhandlingoverview}
\wxheading{Remarks}
-Derive your own class to handle this message. The default handler returns FALSE.
+Derive your own class to handle this message. The default handler returns TRUE.
\wxheading{See also}
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
If not, it is up to you whether you respond by destroying the window.
+(Note: GetForce is now superceded by CanVeto. So to test whether forced destruction of
+the window is required, test for the negative of CanVeto. If CanVeto returns FALSE,
+it is not possible to skip window deletion.)
+
+If you don't destroy the window, you should call \helpref{wxCloseEvent::Veto}{wxcloseeventveto} to
+let the calling code know that you did not destroy the window. This allows the \helpref{wxWindow::Close}{wxwindowclose} function
+to return TRUE or FALSE depending on whether the close instruction was honoured or not.
+
\wxheading{Remarks}
The \helpref{wxWindow::OnClose}{wxwindowonclose} virtual function remains
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
\helpref{wxWindow::OnClose}{wxwindowonclose},\rtfsp
\helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
-\helpref{wxCloseEvent}{wxcloseevent}
-
-\membersection{wxWindow::OnDefaultAction}\label{wxwindowondefaultaction}
-
-\func{virtual void}{OnDefaultAction}{\param{wxControl* }{control}}
-
-Called when the user initiates the default action for a panel or
-dialog box, for example by double clicking on a listbox.
-
-\wxheading{Parameters}
-
-\docparam{control}{The control which caused the default action.}
-
-\wxheading{Remarks}
-
-TODO: eliminate this?? Or keep it for backward compatibility?
+\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
+\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
+\helpref{wxApp::OnEndSession}{wxapponendsession}
\membersection{wxWindow::OnDropFiles}\label{wxwindowondropfiles}
\helpref{wxEraseEvent}{wxeraseevent}, \helpref{Event handling overview}{eventhandlingoverview}
+\membersection{wxWindow::OnKeyDown}\label{wxwindowonkeydown}
+
+\func{void}{OnKeyDown}{\param{wxKeyEvent\&}{ event}}
+
+Called when the user has pressed a key, before it is translated into an ASCII value using other
+modifier keys that might be pressed at the same time.
+
+\wxheading{Parameters}
+
+\docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
+details about this class.}
+
+\wxheading{Remarks}
+
+This member function is called in response to a key down event. To intercept this event,
+use the EVT\_KEY\_DOWN macro in an event table definition. Your {\bf OnKeyDown} handler may call this
+default function to achieve default keypress functionality.
+
+Note that not all keypresses can be intercepted this way. If you wish to intercept special
+keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+\helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
+
+Most, but not all, windows allow keypresses to be intercepted.
+
+\wxheading{See also}
+
+\helpref{wxWindow::OnChar}{wxwindowonchar}, \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup},\rtfsp
+\helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
+\helpref{Event handling overview}{eventhandlingoverview}
+
+\membersection{wxWindow::OnKeyUp}\label{wxwindowonkeyup}
+
+\func{void}{OnKeyUp}{\param{wxKeyEvent\&}{ event}}
+
+Called when the user has released a key.
+
+\wxheading{Parameters}
+
+\docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
+details about this class.}
+
+\wxheading{Remarks}
+
+This member function is called in response to a key up event. To intercept this event,
+use the EVT\_KEY\_UP macro in an event table definition. Your {\bf OnKeyUp} handler may call this
+default function to achieve default keypress functionality.
+
+Note that not all keypresses can be intercepted this way. If you wish to intercept special
+keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+\helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
+
+Most, but not all, windows allow key up events to be intercepted.
+
+\wxheading{See also}
+
+\helpref{wxWindow::OnChar}{wxwindowonchar}, \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown},\rtfsp
+\helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
+\helpref{Event handling overview}{eventhandlingoverview}
+
\membersection{wxWindow::OnKillFocus}\label{wxwindowonkillfocus}
\func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}}
\membersection{wxWindow::OnIdle}\label{wxwindowonidle}
-\func{void}{Onidle}{\param{wxIdleEvent\& }{event}}
+\func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
Provide this member function for any processing which needs to be done
when the application is idle.
some calculations using the current view position to obtain logical,
scrolled units.
-Here is an example of using the \helpref{wxUpdateIterator}{wxupdateiterator} class:
+Here is an example of using the \helpref{wxRegionIterator}{wxregioniterator} class:
{\small%
\begin{verbatim}
ViewStart(&vbX,&vbY);
int vX,vY,vW,vH; // Dimensions of client area in pixels
- wxUpdateIterator upd(this); // get the update rect list
+ wxRegionIterator upd(GetUpdateRegion()); // get the update rect list
while (upd)
{
\docparam{y}{Required y position for the menu to appear.}
-\wxheading{Remarks}
-
-Valid only for subwindows (panels, canvases and text windows).
-
-Sometimes this function does not function correctly under Motif, in which case
-please use \helpref{wxWindow::FakePopupMenu}{wxwindowfakepopupmenu} instead.
-
\wxheading{See also}
\helpref{wxMenu}{wxmenu}, \helpref{wxWindow::FakePopupMenu}{wxwindowfakepopupmenu}
\docparam{child}{Child window to remove.}
-\membersection{wxWindow::ScreenToClient}
+\membersection{wxWindow::ScreenToClient}\label{wxwindowscreentoclient}
\constfunc{virtual void}{ScreenToClient}{\param{int* }{x}, \param{int* }{y}}
+\constfunc{virtual wxPoint}{ScreenToClient}{\param{const wxPoint\& }{pt}}
+
Converts from screen to client window coordinates.
\wxheading{Parameters}
\docparam{y}{Stores the screen x coordinate and receives the client x coordinate.}
+\docparam{pt}{The screen position for the second form of the function.}
+
\membersection{wxWindow::ScrollWindow}\label{wxwindowscrollwindow}
\func{virtual void}{ScrollWindow}{\param{int }{dx}, \param{int }{dy}, \param{const wxRect*}{ rect = NULL}}
Use this function to optimise your scrolling implementations, to minimise the area that must be
redrawn.
+\membersection{wxWindow::SetAcceleratorTable}\label{wxwindowsetacceleratortable}
+
+\func{virtual void}{SetAcceleratorTable}{\param{const wxAcceleratorTable\&}{ accel}}
+
+Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxacceleratortable}.
+
\membersection{wxWindow::SetAutoLayout}\label{wxwindowsetautolayout}
\func{void}{SetAutoLayout}{\param{const bool}{ autoLayout}}
the constraints automatically in OnSize; otherwise, you must
override OnSize and call Layout explicitly.
-% TODO: double click should always be allowed.
-%\membersection{wxWindow::SetDoubleClick}\label{setdoubleclick}
-%
-%\func{void}{SetDoubleClick}{\param{bool}{ allowDoubleClick}}
-%
-%For canvases, allows double click if {\it allowDoubleClick} is TRUE. The default is FALSE.
+\membersection{wxWindow::SetDropTarget}\label{wxwindowsetdroptarget}
+
+\func{void}{SetDropTarget}{\param{wxDropTarget*}{ target}}
+
+Associates a drop target with this window.
+
+If the window already has a drop target, it is deleted.
+
+\wxheading{See also}
+
+\helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget},
+\helpref{Drag and drop overview}{wxdndoverview}
\membersection{wxWindow::SetFocus}\label{wxwindowsetfocus}
\wxheading{See also}
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
-\helpref{wxWindow::SetScrollRange}{wxwindowsetscrollpage},\rtfsp
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
-\helpref{wxWindow::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
-\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollrange},\rtfsp
+\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
\end{comment}
\helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar},\rtfsp
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
-\helpref{wxWindow::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
-\helpref{wxWindow::GetScrollThumb}{wxwindowsetscrollthumb},\rtfsp
+\helpref{wxWindow::GetScrollThumb}{wxwindowgetscrollthumb},\rtfsp
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
\begin{comment}
\wxheading{Remarks}
The range of a scrollbar is the number of steps that the thumb may travel, rather than the total
-object length of the scrollbar. If you are implementing a scrolling canvas, for example, you
-would adjust the scroll range when the canvas is resized, by subtracting the canvas view size from the
-total virtual canvas size. When the two sizes are the same (all the canvas is visible), the range goes to zero
+object length of the scrollbar. If you are implementing a scrolling window, for example, you
+would adjust the scroll range when the window is resized, by subtracting the window view size from the
+total virtual window size. When the two sizes are the same (all the window is visible), the range goes to zero
and usually the scrollbar will be automatically hidden.
\wxheading{See also}
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
\helpref{wxWindow::SetScrollPage}{wxwindowsetscrollpage},\rtfsp
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
-\helpref{wxWindow::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
-\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollrange},\rtfsp
+\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
\end{comment}
\func{virtual void}{SetSize}{\param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
\param{int}{ sizeFlags = wxSIZE\_AUTO}}
+\func{virtual void}{SetSize}{\param{const wxRect\&}{ rect}}
+
Sets the size and position of the window in pixels.
\func{virtual void}{SetSize}{\param{int}{ width}, \param{int}{ height}}
+\func{virtual void}{SetSize}{\param{const wxSize\&}{ size}}
+
Sets the size of the window in pixels.
\wxheading{Parameters}
\docparam{height}{Required height position in pixels, or -1 to indicate that the existing
value should be used.}
+\docparam{size}{\helpref{wxSize}{wxsize} object for setting the size.}
+
+\docparam{rect}{\helpref{wxRect}{wxrect} object for setting the position and size.}
+
\docparam{sizeFlags}{Indicates the interpretation of other parameters. It is a bit list of the following:
{\bf wxSIZE\_AUTO\_WIDTH}: a -1 width value is taken to indicate
\func{virtual void}{SetClientSize}{\param{int}{ width}, \param{int}{ height}}
+\func{virtual void}{SetClientSize}{\param{const wxSize\&}{ size}}
+
This sets the size of the window client area in pixels. Using this function to size a window
tends to be more device-independent than \helpref{wxWindow::SetSize}{wxwindowsetsize}, since the application need not
worry about what dimensions the border or title bar have when trying to fit the window
\docparam{height}{The required client area height.}
+\docparam{size}{The required client size.}
+
\membersection{wxWindow::SetPalette}
\func{virtual void}{SetPalette}{\param{wxPalette* }{palette}}