]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/window.tex
Removed lots of OnClose functions; doc'ed OnCloseWindow better;
[wxWidgets.git] / docs / latex / wx / window.tex
1 \section{\class{wxWindow}}\label{wxwindow}
2
3 wxWindow is the base class for all windows. Any
4 children of the window will be deleted automatically by the destructor
5 before the window itself is deleted.
6
7 \wxheading{Derived from}
8
9 \helpref{wxEvtHandler}{wxevthandler}\\
10 \helpref{wxObject}{wxobject}
11
12 \wxheading{Window styles}
13
14 The following styles can apply to all windows, although they will not always make sense for a particular
15 window class.
16
17 \twocolwidtha{5cm}%
18 \begin{twocollist}\itemsep=0pt
19 \twocolitem{\windowstyle{wxSIMPLE\_BORDER}}{Displays a thin border around the window. wxBORDER is the old name
20 for this style.}
21 \twocolitem{\windowstyle{wxDOUBLE\_BORDER}}{Displays a double border. Windows only.}
22 \twocolitem{\windowstyle{wxSUNKEN\_BORDER}}{Displays a sunken border.}
23 \twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a raised border.}
24 \twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control.}
25 \twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint
26 events. Windows only.}
27 \twocolitem{\windowstyle{wxNO\_3D}}{Prevents the children of this window taking on 3D styles, even though
28 the application-wide policy is for 3D controls. Windows only.}
29 \twocolitem{\windowstyle{wxTAB\_TRAVERSAL}}{Use this to enable tab traversal for non-dialog windows.}
30 \twocolitem{\windowstyle{wxVSCROLL}}{Use this style to enable a vertical scrollbar.}
31 \twocolitem{\windowstyle{wxHSCROLL}}{Use this style to enable a horizontal scrollbar.}
32 \twocolitem{\windowstyle{wxCLIP\_CHILDREN}}{Use this style to eliminate flicker caused by the background being
33 repainted, then children being painted over them. Windows-only.}
34 \end{twocollist}
35
36 See also \helpref{window styles overview}{windowstyles}.
37
38 \wxheading{See also}
39
40 \helpref{Event handling overview}{eventhandlingoverview}
41
42 \latexignore{\rtfignore{\wxheading{Members}}}
43
44 \membersection{wxWindow::wxWindow}
45
46 \func{}{wxWindow}{\void}
47
48 Default constructor.
49
50 \func{}{wxWindow}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
51 \param{const wxPoint\& }{pos = wxDefaultPosition},
52 \param{const wxSize\& }{size = wxDefaultSize},
53 \param{long }{style = 0},
54 \param{const wxString\& }{name = wxPanelNameStr}}
55
56 Constructs a window, which can be a child of a frame, dialog or any other non-control window.
57
58 \wxheading{Parameters}
59
60 \docparam{parent}{Pointer to a parent window.}
61
62 \docparam{id}{Window identifier. If -1, will automatically create an identifier.}
63
64 \docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxWindows
65 should generate a default position for the window. If using the wxWindow class directly, supply
66 an actual position.}
67
68 \docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxWindows
69 should generate a default size for the window.}
70
71 \docparam{style}{Window style. For generic window styles, please see \helpref{wxWindow}{wxwindow}.}
72
73 \docparam{name}{Window name.}
74
75 \membersection{wxWindow::\destruct{wxWindow}}
76
77 \func{}{\destruct{wxWindow}}{\void}
78
79 Destructor. Deletes all subwindows, then deletes itself. Instead of using
80 the {\bf delete} operator explicitly, you should normally
81 use \helpref{wxWindow::Destroy}{wxwindowdestroy} so that wxWindows
82 can delete a window only when it is safe to do so, in idle time.
83
84 \wxheading{See also}
85
86 \helpref{Window deletion overview}{windowdeletionoverview},\rtfsp
87 \helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
88 \helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
89 \helpref{wxCloseEvent}{wxcloseevent}
90
91 \membersection{wxWindow::AddChild}
92
93 \func{virtual void}{AddChild}{\param{wxWindow* }{child}}
94
95 Adds a child window. This is called automatically by window creation
96 functions so should not be required by the application programmer.
97
98 \wxheading{Parameters}
99
100 \docparam{child}{Child window to add.}
101
102 \membersection{wxWindow::CaptureMouse}\label{wxwindowcapturemouse}
103
104 \func{virtual void}{CaptureMouse}{\void}
105
106 Directs all mouse input to this window. Call \helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse} to
107 release the capture.
108
109 \wxheading{See also}
110
111 \helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}
112
113 \membersection{wxWindow::Center}\label{wxwindowcenter}
114
115 \func{void}{Center}{\param{int}{ direction}}
116
117 A synonym for \helpref{Centre}{wxwindowcentre}.
118
119 \membersection{wxWindow::Centre}\label{wxwindowcentre}
120
121 \func{virtual void}{Centre}{\param{int}{ direction = wxHORIZONTAL}}
122
123 Centres the window.
124
125 \wxheading{Parameters}
126
127 \docparam{direction}{Specifies the direction for the centering. May be {\tt wxHORIZONTAL}, {\tt wxVERTICAL}\rtfsp
128 or {\tt wxBOTH}.}
129
130 \wxheading{Remarks}
131
132 The actual behaviour depends on the derived window. For a frame or dialog box,
133 centring is relative to the whole display. For a panel item, centring is
134 relative to the panel.
135
136 \wxheading{See also}
137
138 \helpref{wxWindow::Center}{wxwindowcenter}
139
140 \membersection{wxWindow::Clear}\label{wxwindowclear}
141
142 \func{void}{Clear}{\void}
143
144 Clears the window by filling it with the current background colour.
145
146 \membersection{wxWindow::ClientToScreen}
147
148 \constfunc{virtual void}{ClientToScreen}{\param{int* }{x}, \param{int* }{y}}
149
150 \constfunc{virtual wxPoint}{ClientToScreen}{\param{const wxPoint\&}{ pt}}
151
152 Converts to screen coordinates from coordinates relative to this window.
153
154 \docparam{x}{A pointer to a integer value for the x coordinate. Pass the client coordinate in, and
155 a screen coordinate will be passed out.}
156
157 \docparam{y}{A pointer to a integer value for the y coordinate. Pass the client coordinate in, and
158 a screen coordinate will be passed out.}
159
160 \docparam{pt}{The client position for the second form of the function.}
161
162 \membersection{wxWindow::Close}\label{wxwindowclose}
163
164 \func{virtual bool}{Close}{\param{const bool}{ force = FALSE}}
165
166 The purpose of this call is to provide a safer way of destroying a window than using
167 the {\it delete} operator.
168
169 \wxheading{Parameters}
170
171 \docparam{force}{FALSE if the window's close handler should be able to veto the destruction
172 of this window, TRUE if it cannot.}
173
174 \wxheading{Remarks}
175
176 Close calls the \helpref{close handler}{wxcloseevent} for the window, providing an opportunity for the window to
177 choose whether to destroy the window.
178
179 The close handler should check whether the window is being deleted forcibly,
180 using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}, in which case it should
181 destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
182
183 Applies to managed windows (wxFrame and wxDialog classes) only.
184
185 \wxheading{See also}
186
187 \helpref{Window deletion overview}{windowdeletionoverview},\rtfsp
188 \helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
189 \helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
190 \helpref{wxCloseEvent}{wxcloseevent}
191
192 \membersection{wxWindow::ConvertDialogToPixels}\label{wxwindowconvertdialogtopixels}
193
194 \func{wxPoint}{ConvertDialogToPixels}{\param{const wxPoint\&}{ pt}}
195
196 \func{wxSize}{ConvertDialogToPixels}{\param{const wxSize\&}{ sz}}
197
198 Converts a point or size from dialog units to pixels.
199
200 For the x dimension, the dialog units are multiplied by the average character width
201 and then divided by 4.
202
203 For the y dimension, the dialog units are multiplied by the average character height
204 and then divided by 8.
205
206 \wxheading{Remarks}
207
208 Dialog units are used for maintaining a dialog's proportions even if the font changes.
209 Dialogs created using Dialog Editor optionally use dialog units.
210
211 You can also use these functions programmatically. A convenience macro is defined:
212
213 {\small
214 \begin{verbatim}
215 #define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt)
216 \end{verbatim}
217 }
218
219 \wxheading{See also}
220
221 \helpref{wxWindow::ConvertPixelsToDialog}{wxwindowconvertpixelstodialog}
222
223 \membersection{wxWindow::ConvertPixelsToDialog}\label{wxwindowconvertpixelstodialog}
224
225 \func{wxPoint}{ConvertPixelsToDialog}{\param{const wxPoint\&}{ pt}}
226
227 \func{wxSize}{ConvertPixelsToDialog}{\param{const wxSize\&}{ sz}}
228
229 Converts a point or size from pixels to dialog units.
230
231 For the x dimension, the pixels are multiplied by 4 and then divided by the average
232 character width.
233
234 For the y dimension, the pixels are multipled by 8 and then divided by the average
235 character height.
236
237 \wxheading{Remarks}
238
239 Dialog units are used for maintaining a dialog's proportions even if the font changes.
240 Dialogs created using Dialog Editor optionally use dialog units.
241
242 \wxheading{See also}
243
244 \helpref{wxWindow::ConvertDialogToPixels}{wxwindowconvertdialogtopixels}
245
246 \membersection{wxWindow::Destroy}\label{wxwindowdestroy}
247
248 \func{virtual bool}{Destroy}{\void}
249
250 Destroys the window safely. Use this function instead of the delete operator, since
251 different window classes can be destroyed differently. Frames and dialogs
252 are not destroyed immediately when this function is called - they are added
253 to a list of windows to be deleted on idle time, when all the window's events
254 have been processed. This prevents problems with events being sent to non-existant
255 windows.
256
257 \wxheading{Return value}
258
259 TRUE if the window has either been successfully deleted, or it has been added
260 to the list of windows pending real deletion.
261
262 \membersection{wxWindow::DestroyChildren}
263
264 \func{virtual void}{DestroyChildren}{\void}
265
266 Destroys all children of a window. Called automatically by the destructor.
267
268 \membersection{wxWindow::DragAcceptFiles}\label{wxwindowdragacceptfiles}
269
270 \func{virtual void}{DragAcceptFiles}{\param{const bool}{ accept}}
271
272 Enables or disables elibility for drop file events (OnDropFiles).
273
274 \wxheading{Parameters}
275
276 \docparam{accept}{If TRUE, the window is eligible for drop file events. If FALSE, the window
277 will not accept drop file events.}
278
279 \wxheading{Remarks}
280
281 Windows only.
282
283 \wxheading{See also}
284
285 \helpref{wxWindow::OnDropFiles}{wxwindowondropfiles}
286
287 \membersection{wxWindow::Enable}\label{wxwindowenable}
288
289 \func{virtual void}{Enable}{\param{const bool}{ enable}}
290
291 Enable or disable the window for user input.
292
293 \wxheading{Parameters}
294
295 \docparam{enable}{If TRUE, enables the window for input. If FALSE, disables the window.}
296
297 \wxheading{See also}
298
299 \helpref{wxWindow::IsEnabled}{wxwindowisenabled}
300
301 \membersection{wxWindow::FakePopupMenu}\label{wxwindowfakepopupmenu}
302
303 \func{virtual bool}{FakePopupMenu}{\param{wxMenu* }{menu}, \param{int }{x}, \param{int }{y}}
304
305 A replacement for wxWindow::PopupMenu for cases where the PopupMenu implementation
306 does not work correctly, in particular on Motif platforms.
307
308 \wxheading{Parameters}
309
310 \docparam{menu}{Menu to pop up.}
311
312 \docparam{x}{Required x position for the menu to appear.}
313
314 \docparam{y}{Required y position for the menu to appear.}
315
316 \wxheading{Remarks}
317
318 This is a cut-down version of PopupMenu using a dialog and listbox; pull-right menus
319 are not supported.
320
321 \wxheading{See also}
322
323 \helpref{wxMenu}{wxmenu}, \helpref{wxWindow::PopupMenu}{wxwindowpopupmenu}
324
325 \membersection{wxWindow::FindFocus}\label{wxwindowfindfocus}
326
327 \func{static wxWindow*}{FindFocus}{\void}
328
329 Finds the window or control which currently has the keyboard focus.
330
331 \wxheading{Remarks}
332
333 Note that this is a static function, so it can be called without needing a wxWindow pointer.
334
335 \wxheading{See also}
336
337 \helpref{wxWindow::SetFocus}{wxwindowsetfocus}
338
339 \membersection{wxWindow::FindWindow}\label{wxwindowfindwindow}
340
341 \func{wxWindow*}{FindWindow}{\param{long}{ id}}
342
343 Find a child of this window, by identifier.
344
345 \func{wxWindow*}{FindWindow}{\param{const wxString\&}{ name}}
346
347 Find a child of this window, by name.
348
349 \membersection{wxWindow::Fit}\label{wxwindowfit}
350
351 \func{virtual void}{Fit}{\void}
352
353 Sizes the window so that it fits around its subwindows.
354
355 \membersection{wxWindow::GetBackgroundColour}\label{wxwindowgetbackgroundcolour}
356
357 \constfunc{virtual wxColour}{GetBackgroundColour}{\void}
358
359 Returns the background colour of the window.
360
361 \wxheading{See also}
362
363 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
364 \helpref{wxWindow::SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
365 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
366 \helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground}
367
368 \membersection{wxWindow::GetCharHeight}
369
370 \constfunc{virtual int}{GetCharHeight}{\void}
371
372 Returns the character height for this window.
373
374 \membersection{wxWindow::GetCharWidth}
375
376 \constfunc{virtual int}{GetCharWidth}{\void}
377
378 Returns the average character width for this window.
379
380 \membersection{wxWindow::GetChildren}
381
382 \func{wxList\&}{GetChildren}{\void}
383
384 Returns a reference to the list of the window's children.
385
386 \membersection{wxWindow::GetClientSize}\label{wxwindowgetclientsize}
387
388 \constfunc{virtual void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
389
390 \constfunc{virtual wxSize}{GetClientSize}{\void}
391
392 This gets the size of the window `client area' in pixels. The client area is the
393 area which may be drawn on by the programmer, excluding title bar, border etc.
394
395 \wxheading{Parameters}
396
397 \docparam{width}{Receives the client width in pixels.}
398
399 \docparam{height}{Receives the client height in pixels.}
400
401 \membersection{wxWindow::GetConstraints}\label{wxwindowgetconstraints}
402
403 \constfunc{wxLayoutConstraints*}{GetConstraints}{\void}
404
405 Returns a pointer to the window's layout constraints, or NULL if there are none.
406
407 \membersection{wxWindow::GetDefaultItem}\label{wxwindowgetdefaultitem}
408
409 \constfunc{wxButton*}{GetDefaultItem}{\void}
410
411 Returns a pointer to the button which is the default for this window, or NULL.
412
413 \membersection{wxWindow::GetDropTarget}\label{wxwindowgetdroptarget}
414
415 \constfunc{wxDropTarget*}{GetDropTarget}{\void}
416
417 Returns the associated drop target, which may be NULL.
418
419 \wxheading{See also}
420
421 \helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget},
422 \helpref{Drag and drop overview}{wxdndoverview}
423
424 \membersection{wxWindow::GetEventHandler}\label{wxwindowgeteventhandler}
425
426 \constfunc{wxEvtHandler*}{GetEventHandler}{\void}
427
428 Returns the event handler for this window. By default, the window is its
429 own event handler.
430
431 \wxheading{See also}
432
433 \helpref{wxWindow::SetEventHandler}{wxwindowseteventhandler},\rtfsp
434 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
435 \helpref{wxWindow::PopEventHandler}{wxwindowpusheventhandler},\rtfsp
436 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
437 \helpref{wxEvtHandler}{wxevthandler}\rtfsp
438
439 \membersection{wxWindow::GetFont}\label{wxwindowgetfont}
440
441 \constfunc{wxFont\&}{GetFont}{\void}
442
443 Returns a reference to the font for this window.
444
445 \wxheading{See also}
446
447 \helpref{wxWindow::SetFont}{wxwindowsetfont}
448
449 \membersection{wxWindow::GetForegroundColour}\label{wxwindowgetforegroundcolour}
450
451 \func{virtual wxColour}{GetForegroundColour}{\void}
452
453 Returns the foreground colour of the window.
454
455 \wxheading{Remarks}
456
457 The interpretation of foreground colour is open to interpretation according
458 to the window class; it may be the text colour or other colour, or it may not
459 be used at all.
460
461 \wxheading{See also}
462
463 \helpref{wxWindow::SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
464 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
465 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}
466
467 \membersection{wxWindow::GetGrandParent}
468
469 \constfunc{wxWindow*}{GetGrandParent}{\void}
470
471 Returns the grandparent of a window, or NULL if there isn't one.
472
473 \membersection{wxWindow::GetHandle}
474
475 \constfunc{void*}{GetHandle}{\void}
476
477 Returns the platform-specific handle of the physical window. Cast it to an appropriate
478 handle, such as {\bf HWND} for Windows or {\bf Widget} for Motif.
479
480 \membersection{wxWindow::GetId}\label{wxwindowgetid}
481
482 \constfunc{int}{GetId}{\void}
483
484 Returns the identifier of the window.
485
486 \wxheading{Remarks}
487
488 Each window has an integer identifier. If the application has not provided one,
489 an identifier will be generated.
490
491 TODO: perhaps there should be a default identifier for each class, rather
492 choosing one, which could clash with other ones.
493
494 \wxheading{See also}
495
496 \helpref{wxWindow::SetId}{wxwindowsetid}
497
498 \membersection{wxWindow::GetPosition}
499
500 \constfunc{virtual void}{GetPosition}{\param{int* }{x}, \param{int* }{y}}
501
502 This gets the position of the window in pixels, relative to the parent window or
503 if no parent, relative to the whole display.
504
505 \wxheading{Parameters}
506
507 \docparam{x}{Receives the x position of the window.}
508
509 \docparam{y}{Receives the y position of the window.}
510
511 \membersection{wxWindow::GetLabel}
512
513 \constfunc{virtual wxString\& }{GetLabel}{\void}
514
515 Generic way of getting a label from any window, for
516 identification purposes.
517
518 \wxheading{Remarks}
519
520 The interpretation of this function differs from class to class.
521 For frames and dialogs, the value returned is the title. For buttons or static text controls, it is
522 the button text. This function can be useful for meta-programs (such as testing
523 tools or special-needs access programs) which need to identify windows
524 by name.
525
526 \membersection{wxWindow::GetName}\label{wxwindowgetname}
527
528 \constfunc{virtual wxString\& }{GetName}{\void}
529
530 Returns the window's name.
531
532 \wxheading{Remarks}
533
534 This name is not guaranteed to be unique; it is up to the programmer to supply an appropriate
535 name in the window constructor or via \helpref{wxWindow::SetName}{wxwindowsetname}.
536
537 \wxheading{See also}
538
539 \helpref{wxWindow::SetName}{wxwindowsetname}
540
541 \membersection{wxWindow::GetParent}
542
543 \constfunc{virtual wxWindow*}{GetParent}{\void}
544
545 Returns the parent of the window, or NULL if there is no parent.
546
547 \membersection{wxWindow::GetRect}\label{wxwindowgetrect}
548
549 \constfunc{virtual wxRect}{GetRect}{\void}
550
551 Returns the size and position of the window as a \helpref{wxRect}{wxrect} object.
552
553 \membersection{wxWindow::GetReturnCode}\label{wxwindowgetreturncode}
554
555 \func{int}{GetReturnCode}{\void}
556
557 Gets the return code for this window.
558
559 \wxheading{Remarks}
560
561 A return code is normally associated with a modal dialog, where \helpref{wxDialog::ShowModal}{wxdialogshowmodal} returns
562 a code to the application.
563
564 \wxheading{See also}
565
566 \helpref{wxWindow::SetReturnCode}{wxwindowsetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
567 \helpref{wxDialog::EndModal}{wxdialogendmodal}
568
569 \membersection{wxWindow::GetScrollThumb}\label{wxwindowgetscrollthumb}
570
571 \func{virtual int}{GetScrollThumb}{\param{int }{orientation}}
572
573 Returns the built-in scrollbar thumb size.
574
575 \wxheading{See also}
576
577 \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar}
578
579 \membersection{wxWindow::GetScrollPos}\label{wxwindowgetscrollpos}
580
581 \func{virtual int}{GetScrollPos}{\param{int }{orientation}}
582
583 Returns the built-in scrollbar position.
584
585 \wxheading{See also}
586
587 See \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar}
588
589 \membersection{wxWindow::GetScrollRange}\label{wxwindowgetscrollrange}
590
591 \func{virtual int}{GetScrollRange}{\param{int }{orientation}}
592
593 Returns the built-in scrollbar range.
594
595 \wxheading{See also}
596
597 \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar}
598
599 \membersection{wxWindow::GetSize}\label{wxwindowgetsize}
600
601 \constfunc{virtual void}{GetSize}{\param{int* }{width}, \param{int* }{height}}
602
603 \constfunc{virtual wxSize}{GetSize}{\void}
604
605 This gets the size of the entire window in pixels.
606
607 \wxheading{Parameters}
608
609 \docparam{width}{Receives the window width.}
610
611 \docparam{height}{Receives the window height.}
612
613 \membersection{wxWindow::GetTextExtent}
614
615 \constfunc{virtual void}{GetTextExtent}{\param{const wxString\& }{string}, \param{int* }{x}, \param{int* }{y},
616 \param{int* }{descent = NULL}, \param{int* }{externalLeading = NULL},
617 \param{const wxFont* }{font = NULL}, \param{const bool}{ use16 = FALSE}}
618
619 Gets the dimensions of the string as it would be drawn on the
620 window with the currently selected font.
621
622 \wxheading{Parameters}
623
624 \docparam{string}{String whose extent is to be measured.}
625
626 \docparam{x}{Return value for width.}
627
628 \docparam{y}{Return value for height.}
629
630 \docparam{descent}{Return value for descent (optional).}
631
632 \docparam{externalLeading}{Return value for external leading (optional).}
633
634 \docparam{font}{Font to use instead of the current window font (optional).}
635
636 \docparam{use16}{If TRUE, {\it string} contains 16-bit characters. The default is FALSE.}
637
638 \membersection{wxWindow::GetTitle}\label{wxwindowgettitle}
639
640 \func{virtual wxString}{GetTitle}{\void}
641
642 Gets the window's title. Applicable only to frames and dialogs.
643
644 \wxheading{See also}
645
646 \helpref{wxWindow::SetTitle}{wxwindowsettitle}
647
648 \membersection{wxWindow::GetUpdateRegion}\label{wxwindowgetupdateregion}
649
650 \constfunc{virtual wxRegion}{GetUpdateRegion}{\void}
651
652 Returns the region specifying which parts of the window have been damaged. Should
653 only be called within an \helpref{OnPaint}{wxwindowonpaint} event handler.
654
655 \wxheading{See also}
656
657 \helpref{wxRegion}{wxregion}, \helpref{wxRegionIterator}{wxregioniterator}, \helpref{wxWindow::OnPaint}{wxwindowonpaint}
658
659 \membersection{wxWindow::GetWindowStyleFlag}
660
661 \constfunc{long}{GetWindowStyleFlag}{\void}
662
663 Gets the window style that was passed to the consructor or {\bf Create} member.
664
665 \membersection{wxWindow::InitDialog}\label{wxwindowinitdialog}
666
667 \func{void}{InitDialog}{\void}
668
669 Sends an \helpref{wxWindow::OnInitDialog}{wxwindowoninitdialog} event, which
670 in turn transfers data to the dialog via validators.
671
672 \wxheading{See also}
673
674 \helpref{wxWindow::OnInitDialog}{wxwindowoninitdialog}
675
676 \membersection{wxWindow::IsEnabled}\label{wxwindowisenabled}
677
678 \constfunc{virtual bool}{IsEnabled}{\void}
679
680 Returns TRUE if the window is enabled for input, FALSE otherwise.
681
682 \wxheading{See also}
683
684 \helpref{wxWindow::Enable}{wxwindowenable}
685
686 \membersection{wxWindow::IsRetained}\label{wxwindowisretained}
687
688 \constfunc{virtual bool}{IsRetained}{\void}
689
690 Returns TRUE if the window is retained, FALSE otherwise.
691
692 \wxheading{Remarks}
693
694 Retained windows are only available on X platforms.
695
696 \membersection{wxWindow::IsShown}\label{wxwindowisshown}
697
698 \constfunc{virtual bool}{IsShown}{\void}
699
700 Returns TRUE if the window is shown, FALSE if it has been hidden.
701
702 \membersection{wxWindow::Layout}\label{wxwindowlayout}
703
704 \func{void}{Layout}{\void}
705
706 Invokes the constraint-based layout algorithm for this window. It is called
707 automatically by the default {\bf wxWindow::OnSize} member.
708
709 \membersection{wxWindow::LoadFromResource}\label{wxwindowloadfromresource}
710
711 \func{virtual bool}{LoadFromResource}{\param{wxWindow* }{parent},\rtfsp
712 \param{const wxString\& }{resourceName}, \param{const wxResourceTable* }{resourceTable = NULL}}
713
714 Loads a panel or dialog from a resource file.
715
716 \wxheading{Parameters}
717
718 \docparam{parent}{Parent window.}
719
720 \docparam{resourceName}{The name of the resource to load.}
721
722 \docparam{resourceTable}{The resource table to load it from. If this is NULL, the
723 default resource table will be used.}
724
725 \wxheading{Return value}
726
727 TRUE if the operation succeeded, otherwise FALSE.
728
729 \wxheading{Remarks}
730
731 TODO
732
733 \wxheading{See also}
734
735 TODO
736
737 \membersection{wxWindow::Lower}\label{wxwindowlower}
738
739 \func{void}{Lower}{\void}
740
741 Lowers the window to the bottom of the window hierarchy if it is a managed window (dialog
742 or frame).
743
744 \membersection{wxWindow::MakeModal}\label{wxwindowmakemodal}
745
746 \func{virtual void}{MakeModal}{\param{const bool }{flag}}
747
748 Disables all other windows in the application so that
749 the user can only interact with this window.
750
751 \wxheading{Parameters}
752
753 \docparam{flag}{If TRUE, this call disables all other windows in the application so that
754 the user can only interact with this window. If FALSE, the effect is reversed.}
755
756 \membersection{wxWindow::Move}\label{wxwindowmove}
757
758 \func{void}{Move}{\param{int}{ x}, \param{int}{ y}}
759
760 \func{void}{Move}{\param{const wxPoint\&}{ pt}}
761
762 Moves the window to the given position.
763
764 \wxheading{Parameters}
765
766 \docparam{x}{Required x position.}
767
768 \docparam{y}{Required y position.}
769
770 \docparam{pt}{\helpref{wxPoint}{wxpoint} object representing the position.}
771
772 \wxheading{Remarks}
773
774 Implementations of SetSize can also implicitly implement the
775 wxWindow::Move function, which is defined in the base wxWindow class
776 as the call:
777
778 \begin{verbatim}
779 SetSize(x, y, -1, -1, wxSIZE_USE_EXISTING);
780 \end{verbatim}
781
782 \wxheading{See also}
783
784 \helpref{wxWindow::SetSize}{wxwindowsetsize}
785
786 \membersection{wxWindow::OnActivate}\label{wxwindowonactivate}
787
788 \func{void}{OnActivate}{\param{wxActivateEvent\&}{ event}}
789
790 Called when a window is activated or deactivated.
791
792 \wxheading{Parameters}
793
794 \docparam{event}{Object containing activation information.}
795
796 \wxheading{Remarks}
797
798 If the window is being activated, \helpref{wxActivateEvent::GetActive}{wxactivateeventgetactive} returns TRUE,
799 otherwise it returns FALSE (it is being deactivated).
800
801 \wxheading{See also}
802
803 \helpref{wxActivateEvent}{wxactivateevent},\rtfsp
804 \helpref{Event handling overview}{eventhandlingoverview}
805
806 \membersection{wxWindow::OnChar}\label{wxwindowonchar}
807
808 \func{void}{OnChar}{\param{wxKeyEvent\&}{ event}}
809
810 Called when the user has pressed a key that is not a modifier (SHIFT, CONTROL or ALT).
811
812 \wxheading{Parameters}
813
814 \docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
815 details about this class.}
816
817 \wxheading{Remarks}
818
819 This member function is called in response to a keypress. To intercept this event,
820 use the EVT\_CHAR macro in an event table definition. Your {\bf OnChar} handler may call this
821 default function to achieve default keypress functionality.
822
823 Note that the ASCII values do not have explicit key codes: they are passed as ASCII
824 values.
825
826 Note that not all keypresses can be intercepted this way. If you wish to intercept modifier
827 keypresses, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
828 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
829
830 Most, but not all, windows allow keypresses to be intercepted.
831
832 \wxheading{See also}
833
834 \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown}, \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup},\rtfsp
835 \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
836 \helpref{Event handling overview}{eventhandlingoverview}
837
838 \membersection{wxWindow::OnCharHook}\label{wxwindowoncharhook}
839
840 \func{void}{OnCharHook}{\param{wxKeyEvent\&}{ event}}
841
842 This member is called to allow the window to intercept keyboard events
843 before they are processed by child windows.
844
845 \wxheading{Parameters}
846
847 \docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
848 details about this class.}
849
850 \wxheading{Remarks}
851
852 This member function is called in response to a keypress, if the window is active. To intercept this event,
853 use the EVT\_CHAR\_HOOK macro in an event table definition. If you do not process a particular
854 keypress, call \helpref{wxEvent::Skip}{wxeventskip} to allow default processing.
855
856 An example of using this function is in the implementation of escape-character processing for wxDialog,
857 where pressing ESC dismisses the dialog by {\bf OnCharHook} 'forging' a cancel button press event.
858
859 Note that the ASCII values do not have explicit key codes: they are passed as ASCII
860 values.
861
862 This function is only relevant to top-level windows (frames and dialogs), and under
863 Windows only.
864
865 \wxheading{See also}
866
867 \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
868 \helpref{wxApp::OnCharHook}{wxapponcharhook},\rtfsp
869 \helpref{Event handling overview}{eventhandlingoverview}
870
871 \membersection{wxWindow::OnCommand}\label{wxwindowoncommand}
872
873 \func{virtual void}{OnCommand}{\param{wxEvtHandler\& }{object}, \param{wxCommandEvent\& }{event}}
874
875 This virtual member function is called if the control does not handle the command event.
876
877 \wxheading{Parameters}
878
879 \docparam{object}{Object receiving the command event.}
880
881 \docparam{event}{Command event}
882
883 \wxheading{Remarks}
884
885 This virtual function is provided mainly for backward compatibility. You can also intercept commands
886 from child controls by using an event table, with identifiers or identifier ranges to identify
887 the control(s) in question.
888
889 \wxheading{See also}
890
891 \helpref{wxCommandEvent}{wxcommandevent},\rtfsp
892 \helpref{Event handling overview}{eventhandlingoverview}
893
894 \membersection{wxWindow::OnClose}\label{wxwindowonclose}
895
896 \func{virtual bool}{OnClose}{\void}
897
898 Called when the user has tried to close a a frame
899 or dialog box using the window manager (X) or system menu (Windows).
900
901 {\bf Note:} This is an obsolete function.
902 It is superceded by the \helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow} event
903 handler.
904
905 \wxheading{Return value}
906
907 If TRUE is returned by OnClose, the window will be deleted by the system, otherwise the
908 attempt will be ignored. Do not delete the window from within this handler, although
909 you may delete other windows.
910
911 \wxheading{See also}
912
913 \helpref{Window deletion overview}{windowdeletionoverview},\rtfsp
914 \helpref{wxWindow::Close}{wxwindowclose},\rtfsp
915 \helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
916 \helpref{wxCloseEvent}{wxcloseevent}
917
918 \membersection{wxWindow::OnCloseWindow}\label{wxwindowonclosewindow}
919
920 \func{void}{OnCloseWindow}{\param{wxCloseEvent\& }{event}}
921
922 This is an event handler function called when the user has tried to close a a frame
923 or dialog box using the window manager (X) or system menu (Windows). It is
924 called via the \helpref{wxWindow::Close}{wxwindowclose} function, so
925 that the application can also invoke the handler programmatically.
926
927 Use the EVT\_CLOSE event table macro to handle close events.
928
929 You should check whether the application is forcing the deletion of the window
930 using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
931 destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
932 If not, it is up to you whether you respond by destroying the window.
933
934 (Note: GetForce is now superceded by CanVeto. So to test whether forced destruction of
935 the window is required, test for the negative of CanVeto. If CanVeto returns FALSE,
936 it is not possible to skip window deletion.)
937
938 If you don't destroy the window, you should call \helpref{wxCloseEvent::Veto}{wxcloseeventveto} to
939 let the calling code know that you did not destroy the window. This allows the \helpref{wxWindow::Close}{wxwindowclose} function
940 to return TRUE or FALSE depending on whether the close instruction was honoured or not.
941
942 \wxheading{Remarks}
943
944 The \helpref{wxWindow::OnClose}{wxwindowonclose} virtual function remains
945 for backward compatibility with earlier versions of wxWindows. The
946 default {\bf OnCloseWindow} handler for wxFrame and wxDialog will call {\bf OnClose},
947 destroying the window if it returns TRUE or if the close is being forced.
948
949 \wxheading{See also}
950
951 \helpref{Window deletion overview}{windowdeletionoverview},\rtfsp
952 \helpref{wxWindow::Close}{wxwindowclose},\rtfsp
953 \helpref{wxWindow::OnClose}{wxwindowonclose},\rtfsp
954 \helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
955 \helpref{wxCloseEvent}{wxcloseevent},\rtfsp
956 \helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
957 \helpref{wxApp::OnEndSession}{wxapponendsession}
958
959 \membersection{wxWindow::OnDropFiles}\label{wxwindowondropfiles}
960
961 \func{void}{OnDropFiles}{\param{wxDropFilesEvent\&}{ event}}
962
963 Called when files have been dragged from the file manager to the window.
964
965 \wxheading{Parameters}
966
967 \docparam{event}{Drop files event. For more information, see \helpref{wxDropFilesEvent}{wxdropfilesevent}.}
968
969 \wxheading{Remarks}
970
971 The window must have previously been enabled for dropping by calling
972 \rtfsp\helpref{wxWindow::DragAcceptFiles}{wxwindowdragacceptfiles}.
973
974 This event is only generated under Windows.
975
976 To intercept this event, use the EVT\_DROP\_FILES macro in an event table definition.
977
978 \wxheading{See also}
979
980 \helpref{wxDropFilesEvent}{wxdropfilesevent}, \helpref{wxWindow::DragAcceptFiles}{wxwindowdragacceptfiles},\rtfsp
981 \helpref{Event handling overview}{eventhandlingoverview}
982
983 \membersection{wxWindow::OnEraseBackground}\label{wxwindowonerasebackground}
984
985 \func{void}{OnEraseBackground}{\param{wxEraseEvent\&}{ event}}
986
987 Called when the background of the window needs to be erased.
988
989 \wxheading{Parameters}
990
991 \docparam{event}{Erase background event. For more information, see \helpref{wxEraseEvent}{wxeraseevent}.}
992
993 \wxheading{Remarks}
994
995 This event is only generated under Windows.
996
997 To intercept this event, use the EVT\_ERASE\_BACKGROUND macro in an event table definition.
998
999 \wxheading{See also}
1000
1001 \helpref{wxEraseEvent}{wxeraseevent}, \helpref{Event handling overview}{eventhandlingoverview}
1002
1003 \membersection{wxWindow::OnKeyDown}\label{wxwindowonkeydown}
1004
1005 \func{void}{OnKeyDown}{\param{wxKeyEvent\&}{ event}}
1006
1007 Called when the user has pressed a key, before it is translated into an ASCII value using other
1008 modifier keys that might be pressed at the same time.
1009
1010 \wxheading{Parameters}
1011
1012 \docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
1013 details about this class.}
1014
1015 \wxheading{Remarks}
1016
1017 This member function is called in response to a key down event. To intercept this event,
1018 use the EVT\_KEY\_DOWN macro in an event table definition. Your {\bf OnKeyDown} handler may call this
1019 default function to achieve default keypress functionality.
1020
1021 Note that not all keypresses can be intercepted this way. If you wish to intercept special
1022 keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
1023 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
1024
1025 Most, but not all, windows allow keypresses to be intercepted.
1026
1027 \wxheading{See also}
1028
1029 \helpref{wxWindow::OnChar}{wxwindowonchar}, \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup},\rtfsp
1030 \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
1031 \helpref{Event handling overview}{eventhandlingoverview}
1032
1033 \membersection{wxWindow::OnKeyUp}\label{wxwindowonkeyup}
1034
1035 \func{void}{OnKeyUp}{\param{wxKeyEvent\&}{ event}}
1036
1037 Called when the user has released a key.
1038
1039 \wxheading{Parameters}
1040
1041 \docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
1042 details about this class.}
1043
1044 \wxheading{Remarks}
1045
1046 This member function is called in response to a key up event. To intercept this event,
1047 use the EVT\_KEY\_UP macro in an event table definition. Your {\bf OnKeyUp} handler may call this
1048 default function to achieve default keypress functionality.
1049
1050 Note that not all keypresses can be intercepted this way. If you wish to intercept special
1051 keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
1052 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
1053
1054 Most, but not all, windows allow key up events to be intercepted.
1055
1056 \wxheading{See also}
1057
1058 \helpref{wxWindow::OnChar}{wxwindowonchar}, \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown},\rtfsp
1059 \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
1060 \helpref{Event handling overview}{eventhandlingoverview}
1061
1062 \membersection{wxWindow::OnKillFocus}\label{wxwindowonkillfocus}
1063
1064 \func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}}
1065
1066 Called when a window's focus is being killed.
1067
1068 \wxheading{Parameters}
1069
1070 \docparam{event}{The focus event. For more information, see \helpref{wxFocusEvent}{wxfocusevent}.}
1071
1072 \wxheading{Remarks}
1073
1074 To intercept this event, use the macro EVT\_KILL\_FOCUS in an event table definition.
1075
1076 Most, but not all, windows respond to this event.
1077
1078 \wxheading{See also}
1079
1080 \helpref{wxFocusEvent}{wxfocusevent}, \helpref{wxWindow::OnSetFocus}{wxwindowonsetfocus},\rtfsp
1081 \helpref{Event handling overview}{eventhandlingoverview}
1082
1083 \membersection{wxWindow::OnIdle}\label{wxwindowonidle}
1084
1085 \func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
1086
1087 Provide this member function for any processing which needs to be done
1088 when the application is idle.
1089
1090 \wxheading{See also}
1091
1092 \helpref{wxApp::OnIdle}{wxapponidle}, \helpref{wxIdleEvent}{wxidleevent}
1093
1094 \membersection{wxWindow::OnInitDialog}\label{wxwindowoninitdialog}
1095
1096 \func{void}{OnInitDialog}{\param{wxInitDialogEvent\&}{ event}}
1097
1098 Default handler for the wxEVT\_INIT\_DIALOG event. Calls \helpref{wxWindow::TransferDataToWindow}{wxwindowtransferdatatowindow}.
1099
1100 \wxheading{Parameters}
1101
1102 \docparam{event}{Dialog initialisation event.}
1103
1104 \wxheading{Remarks}
1105
1106 Gives the window the default behaviour of transferring data to child controls via
1107 the validator that each control has.
1108
1109 \wxheading{See also}
1110
1111 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::TransferDataToWindow}{wxwindowtransferdatatowindow}
1112
1113 \membersection{wxWindow::OnMenuCommand}\label{wxwindowonmenucommand}
1114
1115 \func{void}{OnMenuCommand}{\param{wxCommandEvent\& }{event}}
1116
1117 Called when a menu command is received from a menu bar.
1118
1119 \wxheading{Parameters}
1120
1121 \docparam{event}{The menu command event. For more information, see \helpref{wxCommandEvent}{wxcommandevent}.}
1122
1123 \wxheading{Remarks}
1124
1125 A function with this name doesn't actually exist; you can choose any member function to receive
1126 menu command events, using the EVT\_COMMAND macro for individual commands or EVT\_COMMAND\_RANGE for
1127 a range of commands.
1128
1129 \wxheading{See also}
1130
1131 \helpref{wxCommandEvent}{wxcommandevent},\rtfsp
1132 \helpref{wxWindow::OnMenuHighlight}{wxwindowonmenuhighlight},\rtfsp
1133 \helpref{Event handling overview}{eventhandlingoverview}
1134
1135 \membersection{wxWindow::OnMenuHighlight}\label{wxwindowonmenuhighlight}
1136
1137 \func{void}{OnMenuHighlight}{\param{wxMenuEvent\& }{event}}
1138
1139 Called when a menu select is received from a menu bar: that is, the
1140 mouse cursor is over a menu item, but the left mouse button has not been
1141 pressed.
1142
1143 \wxheading{Parameters}
1144
1145 \docparam{event}{The menu highlight event. For more information, see \helpref{wxMenuEvent}{wxmenuevent}.}
1146
1147 \wxheading{Remarks}
1148
1149 You can choose any member function to receive
1150 menu select events, using the EVT\_MENU\_HIGHLIGHT macro for individual menu items or EVT\_MENU\_HIGHLIGHT\_ALL macro
1151 for all menu items.
1152
1153 The default implementation for \helpref{wxFrame::OnMenuHighlight}{wxframeonmenuhighlight} displays help
1154 text in the first field of the status bar.
1155
1156 This function was known as {\bf OnMenuSelect} in earlier versions of wxWindows, but this was confusing
1157 since a selection is normally a left-click action.
1158
1159 \wxheading{See also}
1160
1161 \helpref{wxMenuEvent}{wxmenuevent},\rtfsp
1162 \helpref{wxWindow::OnMenuCommand}{wxwindowonmenucommand},\rtfsp
1163 \helpref{Event handling overview}{eventhandlingoverview}
1164
1165
1166 \membersection{wxWindow::OnMouseEvent}\label{wxwindowonmouseevent}
1167
1168 \func{void}{OnMouseEvent}{\param{wxMouseEvent\&}{ event}}
1169
1170 Called when the user has initiated an event with the
1171 mouse.
1172
1173 \wxheading{Parameters}
1174
1175 \docparam{event}{The mouse event. See \helpref{wxMouseEvent}{wxmouseevent} for
1176 more details.}
1177
1178 \wxheading{Remarks}
1179
1180 Most, but not all, windows respond to this event.
1181
1182 To intercept this event, use the EVT\_MOUSE\_EVENTS macro in an event table definition, or individual
1183 mouse event macros such as EVT\_LEFT\_DOWN.
1184
1185 \wxheading{See also}
1186
1187 \helpref{wxMouseEvent}{wxmouseevent},\rtfsp
1188 \helpref{Event handling overview}{eventhandlingoverview}
1189
1190 \membersection{wxWindow::OnMove}\label{wxwindowonmove}
1191
1192 \func{void}{OnMove}{\param{wxMoveEvent\& }{event}}
1193
1194 Called when a window is moved.
1195
1196 \wxheading{Parameters}
1197
1198 \docparam{event}{The move event. For more information, see \helpref{wxMoveEvent}{wxmoveevent}.}
1199
1200 \wxheading{Remarks}
1201
1202 Use the EVT\_MOVE macro to intercept move events.
1203
1204 \wxheading{Remarks}
1205
1206 Not currently implemented.
1207
1208 \wxheading{See also}
1209
1210 \helpref{wxMoveEvent}{wxmoveevent},\rtfsp
1211 \helpref{wxFrame::OnSize}{wxframeonsize},\rtfsp
1212 \helpref{Event handling overview}{eventhandlingoverview}
1213
1214 \membersection{wxWindow::OnPaint}\label{wxwindowonpaint}
1215
1216 \func{void}{OnPaint}{\param{wxPaintEvent\& }{event}}
1217
1218 Sent to the event handler when the window must be refreshed.
1219
1220 \wxheading{Parameters}
1221
1222 \docparam{event}{Paint event. For more information, see \helpref{wxPaintEvent}{wxpaintevent}.}
1223
1224 \wxheading{Remarks}
1225
1226 Use the EVT\_PAINT macro in an event table definition to intercept paint events.
1227
1228 In a paint event handler, the application should always create a \helpref{wxPaintDC}{wxpaintdc} object.
1229
1230 For example:
1231
1232 \small{%
1233 \begin{verbatim}
1234 void MyWindow::OnPaint(wxPaintEvent& event)
1235 {
1236 wxPaintDC dc(this);
1237
1238 DrawMyDocument(dc);
1239 }
1240 \end{verbatim}
1241 }%
1242
1243 You can optimize painting by retrieving the rectangles
1244 that have been damaged and only repainting these. The rectangles are in
1245 terms of the client area, and are unscrolled, so you will need to do
1246 some calculations using the current view position to obtain logical,
1247 scrolled units.
1248
1249 Here is an example of using the \helpref{wxRegionIterator}{wxregioniterator} class:
1250
1251 {\small%
1252 \begin{verbatim}
1253 // Called when window needs to be repainted.
1254 void MyWindow::OnPaint(wxPaintEvent& event)
1255 {
1256 wxPaintDC dc(this);
1257
1258 // Find Out where the window is scrolled to
1259 int vbX,vbY; // Top left corner of client
1260 ViewStart(&vbX,&vbY);
1261
1262 int vX,vY,vW,vH; // Dimensions of client area in pixels
1263 wxRegionIterator upd(GetUpdateRegion()); // get the update rect list
1264
1265 while (upd)
1266 {
1267 vX = upd.GetX();
1268 vY = upd.GetY();
1269 vW = upd.GetW();
1270 vH = upd.GetH();
1271
1272 // Alternatively we can do this:
1273 // wxRect rect;
1274 // upd.GetRect(&rect);
1275
1276 // Repaint this rectangle
1277 ...some code...
1278
1279 upd ++ ;
1280 }
1281 }
1282 \end{verbatim}
1283 }%
1284
1285 \wxheading{See also}
1286
1287 \helpref{wxPaintEvent}{wxpaintevent},\rtfsp
1288 \helpref{wxPaintDC}{wxpaintdc},\rtfsp
1289 \helpref{Event handling overview}{eventhandlingoverview}
1290
1291 \membersection{wxWindow::OnScroll}\label{wxwindowonscroll}
1292
1293 \func{void}{OnScroll}{\param{wxScrollEvent\& }{event}}
1294
1295 Called when a scroll event is received from one of the window's built-in scrollbars.
1296
1297 \wxheading{Parameters}
1298
1299 \docparam{event}{Command event. Retrieve the new scroll position by
1300 calling \helpref{wxScrollEvent::GetPosition}{wxscrolleventgetposition}, and the
1301 scrollbar orientation by calling \helpref{wxScrollEvent::GetOrientation}{wxscrolleventgetorientation}.}
1302
1303 \wxheading{Remarks}
1304
1305 Note that it is not possible to distinguish between horizontal and vertical scrollbars
1306 until the function is executing (you can't have one function for vertical, another
1307 for horizontal events).
1308
1309 \wxheading{See also}
1310
1311 \helpref{wxScrollEvent}{wxscrollevent},\rtfsp
1312 \helpref{Event handling overview}{eventhandlingoverview}
1313
1314 \membersection{wxWindow::OnSetFocus}\label{wxwindowonsetfocus}
1315
1316 \func{void}{OnSetFocus}{\param{wxFocusEvent\& }{event}}
1317
1318 Called when a window's focus is being set.
1319
1320 \wxheading{Parameters}
1321
1322 \docparam{event}{The focus event. For more information, see \helpref{wxFocusEvent}{wxfocusevent}.}
1323
1324 \wxheading{Remarks}
1325
1326 To intercept this event, use the macro EVT\_SET\_FOCUS in an event table definition.
1327
1328 Most, but not all, windows respond to this event.
1329
1330 \wxheading{See also}
1331
1332 \helpref{wxFocusEvent}{wxfocusevent}, \helpref{wxWindow::OnKillFocus}{wxwindowonkillfocus},\rtfsp
1333 \helpref{Event handling overview}{eventhandlingoverview}
1334
1335 \membersection{wxWindow::OnSize}\label{wxwindowonsize}
1336
1337 \func{void}{OnSize}{\param{wxSizeEvent\& }{event}}
1338
1339 Called when the window has been resized.
1340
1341 \wxheading{Parameters}
1342
1343 \docparam{event}{Size event. For more information, see \helpref{wxSizeEvent}{wxsizeevent}.}
1344
1345 \wxheading{Remarks}
1346
1347 You may wish to use this for frames to resize their child windows as appropriate.
1348
1349 Note that the size passed is of
1350 the whole window: call \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} for the area which may be
1351 used by the application.
1352
1353 \wxheading{See also}
1354
1355 \helpref{wxSizeEvent}{wxsizeevent},\rtfsp
1356 \helpref{Event handling overview}{eventhandlingoverview}
1357
1358 \membersection{wxWindow::OnSysColourChanged}\label{wxwindowonsyscolourchanged}
1359
1360 \func{void}{OnSysColourChanged}{\param{wxOnSysColourChangedEvent\& }{event}}
1361
1362 Called when the user has changed the system colours.
1363
1364 \wxheading{Parameters}
1365
1366 \docparam{event}{System colour change event. For more information, see \helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}.}
1367
1368 \wxheading{See also}
1369
1370 \helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent},\rtfsp
1371 \helpref{Event handling overview}{eventhandlingoverview}
1372
1373 \membersection{wxWindow::PopEventHandler}\label{wxwindowpopeventhandler}
1374
1375 \constfunc{wxEvtHandler*}{PopEventHandler}{\param{bool }{deleteHandler = FALSE}}
1376
1377 Removes and returns the top-most event handler on the event handler stack.
1378
1379 \wxheading{Parameters}
1380
1381 \docparam{deleteHandler}{If this is TRUE, the handler will be deleted after it is removed. The
1382 default value is FALSE.}
1383
1384 \wxheading{See also}
1385
1386 \helpref{wxWindow::SetEventHandler}{wxwindowseteventhandler},\rtfsp
1387 \helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
1388 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
1389 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
1390 \helpref{wxEvtHandler}{wxevthandler}\rtfsp
1391
1392 \membersection{wxWindow::PopupMenu}\label{wxwindowpopupmenu}
1393
1394 \func{virtual bool}{PopupMenu}{\param{wxMenu* }{menu}, \param{int }{x}, \param{int }{y}}
1395
1396 Pops up the given menu at the specified coordinates, relative to this
1397 window, and returns control when the user has dismissed the menu. If a
1398 menu item is selected, the callback defined for the menu is called with
1399 wxMenu and wxCommandEvent reference arguments. The callback should access
1400 the commandInt member of the event to check the selected menu identifier.
1401
1402 \wxheading{Parameters}
1403
1404 \docparam{menu}{Menu to pop up.}
1405
1406 \docparam{x}{Required x position for the menu to appear.}
1407
1408 \docparam{y}{Required y position for the menu to appear.}
1409
1410 \wxheading{See also}
1411
1412 \helpref{wxMenu}{wxmenu}, \helpref{wxWindow::FakePopupMenu}{wxwindowfakepopupmenu}
1413
1414 \membersection{wxWindow::PushEventHandler}\label{wxwindowpusheventhandler}
1415
1416 \func{void}{PushEventHandler}{\param{wxEvtHandler* }{handler}}
1417
1418 Pushes this event handler onto the event stack for the window.
1419
1420 \wxheading{Parameters}
1421
1422 \docparam{handler}{Specifies the handler to be pushed.}
1423
1424 \wxheading{Remarks}
1425
1426 An event handler is an object that is capable of processing the events
1427 sent to a window. By default, the window is its own event handler, but
1428 an application may wish to substitute another, for example to allow
1429 central implementation of event-handling for a variety of different
1430 window classes.
1431
1432 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler} allows
1433 an application to set up a chain of event handlers, where an event not handled by one event handler is
1434 handed to the next one in the chain. Use \helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler} to
1435 remove the event handler.
1436
1437 \wxheading{See also}
1438
1439 \helpref{wxWindow::SetEventHandler}{wxwindowseteventhandler},\rtfsp
1440 \helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
1441 \helpref{wxWindow::PopEventHandler}{wxwindowpusheventhandler},\rtfsp
1442 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
1443 \helpref{wxEvtHandler}{wxevthandler}
1444
1445 \membersection{wxWindow::Raise}\label{wxwindowraise}
1446
1447 \func{void}{Raise}{\void}
1448
1449 Raises the window to the top of the window hierarchy if it is a managed window (dialog
1450 or frame).
1451
1452 \membersection{wxWindow::Refresh}\label{wxwindowrefresh}
1453
1454 \func{virtual void}{Refresh}{\param{const bool}{ eraseBackground = TRUE}, \param{const wxRect* }{rect
1455 = NULL}}
1456
1457 Causes a message or event to be generated to repaint the
1458 window.
1459
1460 \wxheading{Parameters}
1461
1462 \docparam{eraseBackground}{If TRUE, the background will be
1463 erased.}
1464
1465 \docparam{rect}{If non-NULL, only the given rectangle will
1466 be treated as damaged.}
1467
1468 \membersection{wxWindow::ReleaseMouse}\label{wxwindowreleasemouse}
1469
1470 \func{virtual void}{ReleaseMouse}{\void}
1471
1472 Releases mouse input captured with \helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}.
1473
1474 \wxheading{See also}
1475
1476 \helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}
1477
1478 \membersection{wxWindow::RemoveChild}\label{wxwindowremovechild}
1479
1480 \func{virtual void}{RemoveChild}{\param{wxWindow* }{child}}
1481
1482 Removes a child window. This is called automatically by window deletion
1483 functions so should not be required by the application programmer.
1484
1485 \wxheading{Parameters}
1486
1487 \docparam{child}{Child window to remove.}
1488
1489 \membersection{wxWindow::ScreenToClient}\label{wxwindowscreentoclient}
1490
1491 \constfunc{virtual void}{ScreenToClient}{\param{int* }{x}, \param{int* }{y}}
1492
1493 \constfunc{virtual wxPoint}{ScreenToClient}{\param{const wxPoint\& }{pt}}
1494
1495 Converts from screen to client window coordinates.
1496
1497 \wxheading{Parameters}
1498
1499 \docparam{x}{Stores the screen x coordinate and receives the client x coordinate.}
1500
1501 \docparam{y}{Stores the screen x coordinate and receives the client x coordinate.}
1502
1503 \docparam{pt}{The screen position for the second form of the function.}
1504
1505 \membersection{wxWindow::ScrollWindow}\label{wxwindowscrollwindow}
1506
1507 \func{virtual void}{ScrollWindow}{\param{int }{dx}, \param{int }{dy}, \param{const wxRect*}{ rect = NULL}}
1508
1509 Physically scrolls the pixels in the window.
1510
1511 \wxheading{Parameters}
1512
1513 \docparam{dx}{Amount to scroll horizontally.}
1514
1515 \docparam{dy}{Amount to scroll vertically.}
1516
1517 \docparam{rect}{Rectangle to invalidate. If this is NULL, the whole window is invalidated. If you
1518 pass a rectangle corresponding to the area of the window exposed by the scroll, your painting handler
1519 can optimise painting by checking for the invalidated region.}
1520
1521 \wxheading{Remarks}
1522
1523 Available only under Windows.
1524
1525 Use this function to optimise your scrolling implementations, to minimise the area that must be
1526 redrawn.
1527
1528 \membersection{wxWindow::SetAcceleratorTable}\label{wxwindowsetacceleratortable}
1529
1530 \func{virtual void}{SetAcceleratorTable}{\param{const wxAcceleratorTable\&}{ accel}}
1531
1532 Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxacceleratortable}.
1533
1534 \membersection{wxWindow::SetAutoLayout}\label{wxwindowsetautolayout}
1535
1536 \func{void}{SetAutoLayout}{\param{const bool}{ autoLayout}}
1537
1538 Determines whether the \helpref{wxWindow::Layout}{wxwindowlayout} function will
1539 be called automatically when the window is resized.
1540
1541 \wxheading{Parameters}
1542
1543 \docparam{autoLayout}{Set this to TRUE if you wish the Layout function to be called
1544 from within wxWindow::OnSize functions.}
1545
1546 \wxheading{See also}
1547
1548 \helpref{wxWindow::SetConstraints}{wxwindowsetconstraints}
1549
1550 \membersection{wxWindow::SetBackgroundColour}\label{wxwindowsetbackgroundcolour}
1551
1552 \func{virtual void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
1553
1554 Sets the background colour of the window.
1555
1556 \wxheading{Parameters}
1557
1558 \docparam{colour}{The colour to be used as the background colour.}
1559
1560 \wxheading{Remarks}
1561
1562 The background colour is usually painted by the default\rtfsp
1563 \helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground} event handler function.
1564
1565 \wxheading{See also}
1566
1567 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour},\rtfsp
1568 \helpref{wxWindow::SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
1569 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
1570 \helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground}
1571
1572 \membersection{wxWindow::SetConstraints}\label{wxwindowsetconstraints}
1573
1574 \func{void}{SetConstraints}{\param{wxLayoutConstraints* }{constraints}}
1575
1576 Sets the window to have the given layout constraints. The window
1577 will then own the object, and will take care of its deletion.
1578 If an existing layout constraints object is already owned by the
1579 window, it will be deleted.
1580
1581 \wxheading{Parameters}
1582
1583 \docparam{constraints}{The constraints to set. Pass NULL to disassociate and delete the window's
1584 constraints.}
1585
1586 \wxheading{Remarks}
1587
1588 You must call \helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout} to tell a window to use
1589 the constraints automatically in OnSize; otherwise, you must
1590 override OnSize and call Layout explicitly.
1591
1592 \membersection{wxWindow::SetDropTarget}\label{wxwindowsetdroptarget}
1593
1594 \func{void}{SetDropTarget}{\param{wxDropTarget*}{ target}}
1595
1596 Associates a drop target with this window.
1597
1598 If the window already has a drop target, it is deleted.
1599
1600 \wxheading{See also}
1601
1602 \helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget},
1603 \helpref{Drag and drop overview}{wxdndoverview}
1604
1605 \membersection{wxWindow::SetFocus}\label{wxwindowsetfocus}
1606
1607 \func{virtual void}{SetFocus}{\void}
1608
1609 This sets the window to receive keyboard input.
1610
1611 \membersection{wxWindow::SetFont}\label{wxwindowsetfont}
1612
1613 \func{void}{SetFont}{\param{const wxFont\& }{font}}
1614
1615 Sets the font for this window.
1616
1617 \wxheading{Parameters}
1618
1619 \docparam{font}{Font to associate with this window.}
1620
1621 \wxheading{See also}
1622
1623 \helpref{wxWindow::GetFont}{wxwindowgetfont}
1624
1625 \membersection{wxWindow::SetForegroundColour}\label{wxwindowsetforegroundcolour}
1626
1627 \func{virtual void}{SetForegroundColour}{\param{const wxColour\& }{colour}}
1628
1629 Sets the foreground colour of the window.
1630
1631 \wxheading{Parameters}
1632
1633 \docparam{colour}{The colour to be used as the foreground colour.}
1634
1635 \wxheading{Remarks}
1636
1637 The interpretation of foreground colour is open to interpretation according
1638 to the window class; it may be the text colour or other colour, or it may not
1639 be used at all.
1640
1641 \wxheading{See also}
1642
1643 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
1644 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
1645 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}
1646
1647 \membersection{wxWindow::SetId}\label{wxwindowsetid}
1648
1649 \func{void}{SetId}{\param{int}{ id}}
1650
1651 Sets the identifier of the window.
1652
1653 \wxheading{Remarks}
1654
1655 Each window has an integer identifier. If the application has not provided one,
1656 an identifier will be generated. Normally, the identifier should be provided
1657 on creation and should not be modified subsequently.
1658
1659 TODO: perhaps there should be a default identifier for each class, rather
1660 choosing one, which could clash with other ones.
1661
1662 \wxheading{See also}
1663
1664 \helpref{wxWindow::GetId}{wxwindowgetid}
1665
1666
1667 \membersection{wxWindow::SetName}\label{wxwindowsetname}
1668
1669 \func{virtual void}{SetName}{\param{const wxString\& }{name}}
1670
1671 Sets the window's name.
1672
1673 \wxheading{Parameters}
1674
1675 \docparam{name}{A name to set for the window.}
1676
1677 \wxheading{See also}
1678
1679 \helpref{wxWindow::GetName}{wxwindowgetname}
1680
1681 \membersection{wxWindow::SetReturnCode}\label{wxwindowsetreturncode}
1682
1683 \func{void}{SetReturnCode}{\param{int }{retCode}}
1684
1685 Sets the return code for this window.
1686
1687 \wxheading{Parameters}
1688
1689 \docparam{retCode}{The integer return code, usually a control identifier.}
1690
1691 \wxheading{Remarks}
1692
1693 A return code is normally associated with a modal dialog, where \helpref{wxDialog::ShowModal}{wxdialogshowmodal} returns
1694 a code to the application. The function \helpref{wxDialog::EndModal}{wxdialogendmodal} calls {\bf SetReturnCode}.
1695
1696 \wxheading{See also}
1697
1698 \helpref{wxWindow::GetReturnCode}{wxwindowgetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
1699 \helpref{wxDialog::EndModal}{wxdialogendmodal}
1700
1701 \membersection{wxWindow::SetScrollbar}\label{wxwindowsetscrollbar}
1702
1703 \func{virtual void}{SetScrollbar}{\param{int }{orientation}, \param{int }{position},\rtfsp
1704 \param{int }{thumbSize}, \param{int }{range},\rtfsp
1705 \param{const bool }{refresh = TRUE}}
1706
1707 Sets the scrollbar properties of a built-in scrollbar.
1708
1709 \wxheading{Parameters}
1710
1711 \docparam{orientation}{Determines the scrollbar whose page size is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1712
1713 \docparam{position}{The position of the scrollbar in scroll units.}
1714
1715 \docparam{thumbSize}{The size of the thumb, or visible portion of the scrollbar, in scroll units.}
1716
1717 \docparam{range}{The maximum position of the scrollbar.}
1718
1719 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1720
1721 \wxheading{Remarks}
1722
1723 Let's say you wish to display 50 lines of text, using the same font.
1724 The window is sized so that you can only see 16 lines at a time.
1725
1726 You would use:
1727
1728 {\small%
1729 \begin{verbatim}
1730 SetScrollbar(wxVERTICAL, 0, 16, 50);
1731 \end{verbatim}
1732 }
1733
1734 Note that with the window at this size, the thumb position can never go
1735 above 50 minus 16, or 34.
1736
1737 You can determine how many lines are currently visible by dividing the current view
1738 size by the character height in pixels.
1739
1740 When defining your own scrollbar behaviour, you will always need to recalculate
1741 the scrollbar settings when the window size changes. You could therefore put your
1742 scrollbar calculations and SetScrollbar
1743 call into a function named AdjustScrollbars, which can be called initially and also
1744 from your \helpref{wxWindow::OnSize}{wxwindowonsize} event handler function.
1745
1746 \wxheading{See also}
1747
1748 \helpref{Scrolling overview}{scrollingoverview},\rtfsp
1749 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1750
1751 \begin{comment}
1752 \membersection{wxWindow::SetScrollPage}\label{wxwindowsetscrollpage}
1753
1754 \func{virtual void}{SetScrollPage}{\param{int }{orientation}, \param{int }{pageSize}, \param{const bool }{refresh = TRUE}}
1755
1756 Sets the page size of one of the built-in scrollbars.
1757
1758 \wxheading{Parameters}
1759
1760 \docparam{orientation}{Determines the scrollbar whose page size is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1761
1762 \docparam{pageSize}{Page size in scroll units.}
1763
1764 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1765
1766 \wxheading{Remarks}
1767
1768 The page size of a scrollbar is the number of scroll units that the scroll thumb travels when you
1769 click on the area above/left of or below/right of the thumb. Normally you will want a whole visible
1770 page to be scrolled, i.e. the size of the current view (perhaps the window client size). This
1771 value has to be adjusted when the window is resized, since the page size will have changed.
1772
1773 In addition to specifying how far the scroll thumb travels when paging, in Motif and some versions of Windows
1774 the thumb changes size to reflect the page size relative to the length of the document. When the
1775 document size is only slightly bigger than the current view (window) size, almost all of the scrollbar
1776 will be taken up by the thumb. When the two values become the same, the scrollbar will (on some systems)
1777 disappear.
1778
1779 Currently, this function should be called before SetPageRange, because of a quirk in the Windows
1780 handling of pages and ranges.
1781
1782 \wxheading{See also}
1783
1784 \helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
1785 \helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
1786 \helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
1787 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1788 \end{comment}
1789
1790 \membersection{wxWindow::SetScrollPos}\label{wxwindowsetscrollpos}
1791
1792 \func{virtual void}{SetScrollPos}{\param{int }{orientation}, \param{int }{pos}, \param{const bool }{refresh = TRUE}}
1793
1794 Sets the position of one of the built-in scrollbars.
1795
1796 \wxheading{Parameters}
1797
1798 \docparam{orientation}{Determines the scrollbar whose position is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1799
1800 \docparam{pos}{Position in scroll units.}
1801
1802 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1803
1804 \wxheading{Remarks}
1805
1806 This function does not directly affect the contents of the window: it is up to the
1807 application to take note of scrollbar attributes and redraw contents accordingly.
1808
1809 \wxheading{See also}
1810
1811 \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar},\rtfsp
1812 \helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
1813 \helpref{wxWindow::GetScrollThumb}{wxwindowgetscrollthumb},\rtfsp
1814 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1815
1816 \begin{comment}
1817 \membersection{wxWindow::SetScrollRange}\label{wxwindowsetscrollrange}
1818
1819 \func{virtual void}{SetScrollRange}{\param{int }{orientation}, \param{int }{range}, \param{const bool }{refresh = TRUE}}
1820
1821 Sets the range of one of the built-in scrollbars.
1822
1823 \wxheading{Parameters}
1824
1825 \docparam{orientation}{Determines the scrollbar whose range is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1826
1827 \docparam{range}{Scroll range.}
1828
1829 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1830
1831 \wxheading{Remarks}
1832
1833 The range of a scrollbar is the number of steps that the thumb may travel, rather than the total
1834 object length of the scrollbar. If you are implementing a scrolling window, for example, you
1835 would adjust the scroll range when the window is resized, by subtracting the window view size from the
1836 total virtual window size. When the two sizes are the same (all the window is visible), the range goes to zero
1837 and usually the scrollbar will be automatically hidden.
1838
1839 \wxheading{See also}
1840
1841 \helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
1842 \helpref{wxWindow::SetScrollPage}{wxwindowsetscrollpage},\rtfsp
1843 \helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
1844 \helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
1845 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1846 \end{comment}
1847
1848 \membersection{wxWindow::SetSize}\label{wxwindowsetsize}
1849
1850 \func{virtual void}{SetSize}{\param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
1851 \param{int}{ sizeFlags = wxSIZE\_AUTO}}
1852
1853 \func{virtual void}{SetSize}{\param{const wxRect\&}{ rect}}
1854
1855 Sets the size and position of the window in pixels.
1856
1857 \func{virtual void}{SetSize}{\param{int}{ width}, \param{int}{ height}}
1858
1859 \func{virtual void}{SetSize}{\param{const wxSize\&}{ size}}
1860
1861 Sets the size of the window in pixels.
1862
1863 \wxheading{Parameters}
1864
1865 \docparam{x}{Required x position in pixels, or -1 to indicate that the existing
1866 value should be used.}
1867
1868 \docparam{y}{Required y position in pixels, or -1 to indicate that the existing
1869 value should be used.}
1870
1871 \docparam{width}{Required width in pixels, or -1 to indicate that the existing
1872 value should be used.}
1873
1874 \docparam{height}{Required height position in pixels, or -1 to indicate that the existing
1875 value should be used.}
1876
1877 \docparam{size}{\helpref{wxSize}{wxsize} object for setting the size.}
1878
1879 \docparam{rect}{\helpref{wxRect}{wxrect} object for setting the position and size.}
1880
1881 \docparam{sizeFlags}{Indicates the interpretation of other parameters. It is a bit list of the following:
1882
1883 {\bf wxSIZE\_AUTO\_WIDTH}: a -1 width value is taken to indicate
1884 a wxWindows-supplied default width.\\
1885 {\bf wxSIZE\_AUTO\_HEIGHT}: a -1 height value is taken to indicate
1886 a wxWindows-supplied default width.\\
1887 {\bf wxSIZE\_AUTO}: -1 size values are taken to indicate
1888 a wxWindows-supplied default size.\\
1889 {\bf wxSIZE\_USE\_EXISTING}: existing dimensions should be used
1890 if -1 values are supplied.\\
1891 {\bf wxSIZE\_ALLOW\_MINUS\_ONE}: allow dimensions of -1 and less to be interpreted
1892 as real dimensions, not default values.
1893 }
1894
1895 \wxheading{Remarks}
1896
1897 The second form is a convenience for calling the first form with default
1898 x and y parameters, and must be used with non-default width and height values.
1899
1900 The first form sets the position and optionally size, of the window.
1901 Parameters may be -1 to indicate either that a default should be supplied
1902 by wxWindows, or that the current value of the dimension should be used.
1903
1904 \wxheading{See also}
1905
1906 \helpref{wxWindow::Move}{wxwindowmove}
1907
1908 \membersection{wxWindow::SetSizeHints}\label{wxwindowsetsizehints}
1909
1910 \func{virtual void}{SetSizeHints}{\param{int}{ minW=-1}, \param{int}{ minH=-1}, \param{int}{ maxW=-1}, \param{int}{ maxH=-1},
1911 \param{int}{ incW=-1}, \param{int}{ incH=-1}}
1912
1913 Allows specification of minimum and maximum window sizes, and window size increments.
1914 If a pair of values is not set (or set to -1), the default values will be used.
1915
1916 \wxheading{Parameters}
1917
1918 \docparam{minW}{Specifies the minimum width allowable.}
1919
1920 \docparam{minH}{Specifies the minimum height allowable.}
1921
1922 \docparam{maxW}{Specifies the maximum width allowable.}
1923
1924 \docparam{maxH}{Specifies the maximum height allowable.}
1925
1926 \docparam{incW}{Specifies the increment for sizing the width (Motif/Xt only).}
1927
1928 \docparam{incH}{Specifies the increment for sizing the height (Motif/Xt only).}
1929
1930 \wxheading{Remarks}
1931
1932 If this function is called, the user will not be able to size the window outside the
1933 given bounds.
1934
1935 The resizing increments are only significant under Motif or Xt.
1936
1937 \membersection{wxWindow::SetClientSize}
1938
1939 \func{virtual void}{SetClientSize}{\param{int}{ width}, \param{int}{ height}}
1940
1941 \func{virtual void}{SetClientSize}{\param{const wxSize\&}{ size}}
1942
1943 This sets the size of the window client area in pixels. Using this function to size a window
1944 tends to be more device-independent than \helpref{wxWindow::SetSize}{wxwindowsetsize}, since the application need not
1945 worry about what dimensions the border or title bar have when trying to fit the window
1946 around panel items, for example.
1947
1948 \wxheading{Parameters}
1949
1950 \docparam{width}{The required client area width.}
1951
1952 \docparam{height}{The required client area height.}
1953
1954 \docparam{size}{The required client size.}
1955
1956 \membersection{wxWindow::SetPalette}
1957
1958 \func{virtual void}{SetPalette}{\param{wxPalette* }{palette}}
1959
1960 Obsolete - use \helpref{wxDC::SetPalette}{wxdcsetpalette} instead.
1961
1962 \membersection{wxWindow::SetCursor}\label{wxwindowsetcursor}
1963
1964 \func{virtual void}{SetCursor}{\param{const wxCursor\&}{cursor}}
1965
1966 Sets the window's cursor.
1967
1968 \wxheading{Parameters}
1969
1970 \docparam{cursor}{Specifies the cursor that the window should normally display.}
1971
1972 \wxheading{Remarks}
1973
1974 Under Windows, you sometimes need to call ::wxSetCursor in addition to this
1975 function if you want the cursor to change immediately, because under Windows,
1976 wxWindows only sets the global cursor when it detects mouse movement.
1977
1978 \wxheading{See also}
1979
1980 \helpref{::wxSetCursor}{wxsetcursor}, \helpref{wxCursor}{wxcursor}
1981
1982 \membersection{wxWindow::SetEventHandler}\label{wxwindowseteventhandler}
1983
1984 \func{void}{SetEventHandler}{\param{wxEvtHandler* }{handler}}
1985
1986 Sets the event handler for this window.
1987
1988 \wxheading{Parameters}
1989
1990 \docparam{handler}{Specifies the handler to be set.}
1991
1992 \wxheading{Remarks}
1993
1994 An event handler is an object that is capable of processing the events
1995 sent to a window. By default, the window is its own event handler, but
1996 an application may wish to substitute another, for example to allow
1997 central implementation of event-handling for a variety of different
1998 window classes.
1999
2000 It is usually better to use \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler} since
2001 this sets up a chain of event handlers, where an event not handled by one event handler is
2002 handed to the next one in the chain.
2003
2004 \wxheading{See also}
2005
2006 \helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
2007 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
2008 \helpref{wxWindow::PopEventHandler}{wxwindowpusheventhandler},\rtfsp
2009 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
2010 \helpref{wxEvtHandler}{wxevthandler}
2011
2012 \membersection{wxWindow::SetTitle}\label{wxwindowsettitle}
2013
2014 \func{virtual void}{SetTitle}{\param{const wxString\& }{title}}
2015
2016 Sets the window's title. Applicable only to frames and dialogs.
2017
2018 \wxheading{Parameters}
2019
2020 \docparam{title}{The window's title.}
2021
2022 \wxheading{See also}
2023
2024 \helpref{wxWindow::GetTitle}{wxwindowgettitle}
2025
2026 \membersection{wxWindow::Show}
2027
2028 \func{virtual bool}{Show}{\param{const bool}{ show}}
2029
2030 Shows or hides the window.
2031
2032 \wxheading{Parameters}
2033
2034 \docparam{show}{If TRUE, displays the window and brings it to the front. Otherwise,
2035 hides the window.}
2036
2037 \wxheading{See also}
2038
2039 \helpref{wxWindow::IsShown}{wxwindowisshown}
2040
2041 \membersection{wxWindow::TransferDataFromWindow}\label{wxwindowtransferdatafromwindow}
2042
2043 \func{virtual bool}{TransferDataFromWindow}{\void}
2044
2045 Transfers values from child controls to data areas specified by their validators. Returns
2046 FALSE if a transfer failed.
2047
2048 \wxheading{See also}
2049
2050 \helpref{wxWindow::TransferDataToWindow}{wxwindowtransferdatatowindow},\rtfsp
2051 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::Validate}{wxwindowvalidate}
2052
2053 \membersection{wxWindow::TransferDataToWindow}\label{wxwindowtransferdatatowindow}
2054
2055 \func{virtual bool}{TransferDataToWindow}{\void}
2056
2057 Transfers values to child controls from data areas specified by their validators.
2058
2059 \wxheading{Return value}
2060
2061 Returns FALSE if a transfer failed.
2062
2063 \wxheading{See also}
2064
2065 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
2066 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::Validate}{wxwindowvalidate}
2067
2068 \membersection{wxWindow::Validate}\label{wxwindowvalidate}
2069
2070 \func{virtual bool}{Validate}{\void}
2071
2072 Validates the current values of the child controls using their validators.
2073
2074 \wxheading{Return value}
2075
2076 Returns FALSE if any of the validations failed.
2077
2078 \wxheading{See also}
2079
2080 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
2081 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
2082 \helpref{wxValidator}{wxvalidator}
2083
2084 \membersection{wxWindow::WarpPointer}\label{wxwindowwarppointer}
2085
2086 \func{void}{WarpPointer}{\param{int}{ x}, \param{int}{ y}}
2087
2088 Moves the pointer to the given position on the window.
2089
2090 \wxheading{Parameters}
2091
2092 \docparam{x}{The new x position for the cursor.}
2093
2094 \docparam{y}{The new y position for the cursor.}
2095