]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/window.tex
DnD feedback
[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, which has been translated into an ASCII value.
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 special
827 keys, such as shift, control, and function keys, 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 retained for backward compatibility.
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{Remarks}
912
913 Derive your own class to handle this message. The default handler returns TRUE.
914
915 \wxheading{See also}
916
917 \helpref{Window deletion overview}{windowdeletionoverview},\rtfsp
918 \helpref{wxWindow::Close}{wxwindowclose},\rtfsp
919 \helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
920 \helpref{wxCloseEvent}{wxcloseevent}
921
922 \membersection{wxWindow::OnCloseWindow}\label{wxwindowonclosewindow}
923
924 \func{void}{OnCloseWindow}{\param{wxCloseEvent\& }{event}}
925
926 This is an event handler function called when the user has tried to close a a frame
927 or dialog box using the window manager (X) or system menu (Windows). It is
928 called via the \helpref{wxWindow::Close}{wxwindowclose} function, so
929 that the application can also invoke the handler programmatically.
930
931 Use the EVT\_CLOSE event table macro to handle close events.
932
933 You should check whether the application is forcing the deletion of the window
934 using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
935 destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
936 If not, it is up to you whether you respond by destroying the window.
937
938 (Note: GetForce is now superceded by CanVeto. So to test whether forced destruction of
939 the window is required, test for the negative of CanVeto. If CanVeto returns FALSE,
940 it is not possible to skip window deletion.)
941
942 If you don't destroy the window, you should call \helpref{wxCloseEvent::Veto}{wxcloseeventveto} to
943 let the calling code know that you did not destroy the window. This allows the \helpref{wxWindow::Close}{wxwindowclose} function
944 to return TRUE or FALSE depending on whether the close instruction was honoured or not.
945
946 \wxheading{Remarks}
947
948 The \helpref{wxWindow::OnClose}{wxwindowonclose} virtual function remains
949 for backward compatibility with earlier versions of wxWindows. The
950 default {\bf OnCloseWindow} handler for wxFrame and wxDialog will call {\bf OnClose},
951 destroying the window if it returns TRUE or if the close is being forced.
952
953 \wxheading{See also}
954
955 \helpref{Window deletion overview}{windowdeletionoverview},\rtfsp
956 \helpref{wxWindow::Close}{wxwindowclose},\rtfsp
957 \helpref{wxWindow::OnClose}{wxwindowonclose},\rtfsp
958 \helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
959 \helpref{wxCloseEvent}{wxcloseevent},\rtfsp
960 \helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
961 \helpref{wxApp::OnEndSession}{wxapponendsession}
962
963 \membersection{wxWindow::OnDropFiles}\label{wxwindowondropfiles}
964
965 \func{void}{OnDropFiles}{\param{wxDropFilesEvent\&}{ event}}
966
967 Called when files have been dragged from the file manager to the window.
968
969 \wxheading{Parameters}
970
971 \docparam{event}{Drop files event. For more information, see \helpref{wxDropFilesEvent}{wxdropfilesevent}.}
972
973 \wxheading{Remarks}
974
975 The window must have previously been enabled for dropping by calling
976 \rtfsp\helpref{wxWindow::DragAcceptFiles}{wxwindowdragacceptfiles}.
977
978 This event is only generated under Windows.
979
980 To intercept this event, use the EVT\_DROP\_FILES macro in an event table definition.
981
982 \wxheading{See also}
983
984 \helpref{wxDropFilesEvent}{wxdropfilesevent}, \helpref{wxWindow::DragAcceptFiles}{wxwindowdragacceptfiles},\rtfsp
985 \helpref{Event handling overview}{eventhandlingoverview}
986
987 \membersection{wxWindow::OnEraseBackground}\label{wxwindowonerasebackground}
988
989 \func{void}{OnEraseBackground}{\param{wxEraseEvent\&}{ event}}
990
991 Called when the background of the window needs to be erased.
992
993 \wxheading{Parameters}
994
995 \docparam{event}{Erase background event. For more information, see \helpref{wxEraseEvent}{wxeraseevent}.}
996
997 \wxheading{Remarks}
998
999 This event is only generated under Windows.
1000
1001 To intercept this event, use the EVT\_ERASE\_BACKGROUND macro in an event table definition.
1002
1003 \wxheading{See also}
1004
1005 \helpref{wxEraseEvent}{wxeraseevent}, \helpref{Event handling overview}{eventhandlingoverview}
1006
1007 \membersection{wxWindow::OnKeyDown}\label{wxwindowonkeydown}
1008
1009 \func{void}{OnKeyDown}{\param{wxKeyEvent\&}{ event}}
1010
1011 Called when the user has pressed a key, before it is translated into an ASCII value using other
1012 modifier keys that might be pressed at the same time.
1013
1014 \wxheading{Parameters}
1015
1016 \docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
1017 details about this class.}
1018
1019 \wxheading{Remarks}
1020
1021 This member function is called in response to a key down event. To intercept this event,
1022 use the EVT\_KEY\_DOWN macro in an event table definition. Your {\bf OnKeyDown} handler may call this
1023 default function to achieve default keypress functionality.
1024
1025 Note that not all keypresses can be intercepted this way. If you wish to intercept special
1026 keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
1027 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
1028
1029 Most, but not all, windows allow keypresses to be intercepted.
1030
1031 \wxheading{See also}
1032
1033 \helpref{wxWindow::OnChar}{wxwindowonchar}, \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup},\rtfsp
1034 \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
1035 \helpref{Event handling overview}{eventhandlingoverview}
1036
1037 \membersection{wxWindow::OnKeyUp}\label{wxwindowonkeyup}
1038
1039 \func{void}{OnKeyUp}{\param{wxKeyEvent\&}{ event}}
1040
1041 Called when the user has released a key.
1042
1043 \wxheading{Parameters}
1044
1045 \docparam{event}{Object containing keypress information. See \helpref{wxKeyEvent}{wxkeyevent} for
1046 details about this class.}
1047
1048 \wxheading{Remarks}
1049
1050 This member function is called in response to a key up event. To intercept this event,
1051 use the EVT\_KEY\_UP macro in an event table definition. Your {\bf OnKeyUp} handler may call this
1052 default function to achieve default keypress functionality.
1053
1054 Note that not all keypresses can be intercepted this way. If you wish to intercept special
1055 keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
1056 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
1057
1058 Most, but not all, windows allow key up events to be intercepted.
1059
1060 \wxheading{See also}
1061
1062 \helpref{wxWindow::OnChar}{wxwindowonchar}, \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown},\rtfsp
1063 \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
1064 \helpref{Event handling overview}{eventhandlingoverview}
1065
1066 \membersection{wxWindow::OnKillFocus}\label{wxwindowonkillfocus}
1067
1068 \func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}}
1069
1070 Called when a window's focus is being killed.
1071
1072 \wxheading{Parameters}
1073
1074 \docparam{event}{The focus event. For more information, see \helpref{wxFocusEvent}{wxfocusevent}.}
1075
1076 \wxheading{Remarks}
1077
1078 To intercept this event, use the macro EVT\_KILL\_FOCUS in an event table definition.
1079
1080 Most, but not all, windows respond to this event.
1081
1082 \wxheading{See also}
1083
1084 \helpref{wxFocusEvent}{wxfocusevent}, \helpref{wxWindow::OnSetFocus}{wxwindowonsetfocus},\rtfsp
1085 \helpref{Event handling overview}{eventhandlingoverview}
1086
1087 \membersection{wxWindow::OnIdle}\label{wxwindowonidle}
1088
1089 \func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
1090
1091 Provide this member function for any processing which needs to be done
1092 when the application is idle.
1093
1094 \wxheading{See also}
1095
1096 \helpref{wxApp::OnIdle}{wxapponidle}, \helpref{wxIdleEvent}{wxidleevent}
1097
1098 \membersection{wxWindow::OnInitDialog}\label{wxwindowoninitdialog}
1099
1100 \func{void}{OnInitDialog}{\param{wxInitDialogEvent\&}{ event}}
1101
1102 Default handler for the wxEVT\_INIT\_DIALOG event. Calls \helpref{wxWindow::TransferDataToWindow}{wxwindowtransferdatatowindow}.
1103
1104 \wxheading{Parameters}
1105
1106 \docparam{event}{Dialog initialisation event.}
1107
1108 \wxheading{Remarks}
1109
1110 Gives the window the default behaviour of transferring data to child controls via
1111 the validator that each control has.
1112
1113 \wxheading{See also}
1114
1115 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::TransferDataToWindow}{wxwindowtransferdatatowindow}
1116
1117 \membersection{wxWindow::OnMenuCommand}\label{wxwindowonmenucommand}
1118
1119 \func{void}{OnMenuCommand}{\param{wxCommandEvent\& }{event}}
1120
1121 Called when a menu command is received from a menu bar.
1122
1123 \wxheading{Parameters}
1124
1125 \docparam{event}{The menu command event. For more information, see \helpref{wxCommandEvent}{wxcommandevent}.}
1126
1127 \wxheading{Remarks}
1128
1129 A function with this name doesn't actually exist; you can choose any member function to receive
1130 menu command events, using the EVT\_COMMAND macro for individual commands or EVT\_COMMAND\_RANGE for
1131 a range of commands.
1132
1133 \wxheading{See also}
1134
1135 \helpref{wxCommandEvent}{wxcommandevent},\rtfsp
1136 \helpref{wxWindow::OnMenuHighlight}{wxwindowonmenuhighlight},\rtfsp
1137 \helpref{Event handling overview}{eventhandlingoverview}
1138
1139 \membersection{wxWindow::OnMenuHighlight}\label{wxwindowonmenuhighlight}
1140
1141 \func{void}{OnMenuHighlight}{\param{wxMenuEvent\& }{event}}
1142
1143 Called when a menu select is received from a menu bar: that is, the
1144 mouse cursor is over a menu item, but the left mouse button has not been
1145 pressed.
1146
1147 \wxheading{Parameters}
1148
1149 \docparam{event}{The menu highlight event. For more information, see \helpref{wxMenuEvent}{wxmenuevent}.}
1150
1151 \wxheading{Remarks}
1152
1153 You can choose any member function to receive
1154 menu select events, using the EVT\_MENU\_HIGHLIGHT macro for individual menu items or EVT\_MENU\_HIGHLIGHT\_ALL macro
1155 for all menu items.
1156
1157 The default implementation for \helpref{wxFrame::OnMenuHighlight}{wxframeonmenuhighlight} displays help
1158 text in the first field of the status bar.
1159
1160 This function was known as {\bf OnMenuSelect} in earlier versions of wxWindows, but this was confusing
1161 since a selection is normally a left-click action.
1162
1163 \wxheading{See also}
1164
1165 \helpref{wxMenuEvent}{wxmenuevent},\rtfsp
1166 \helpref{wxWindow::OnMenuCommand}{wxwindowonmenucommand},\rtfsp
1167 \helpref{Event handling overview}{eventhandlingoverview}
1168
1169
1170 \membersection{wxWindow::OnMouseEvent}\label{wxwindowonmouseevent}
1171
1172 \func{void}{OnMouseEvent}{\param{wxMouseEvent\&}{ event}}
1173
1174 Called when the user has initiated an event with the
1175 mouse.
1176
1177 \wxheading{Parameters}
1178
1179 \docparam{event}{The mouse event. See \helpref{wxMouseEvent}{wxmouseevent} for
1180 more details.}
1181
1182 \wxheading{Remarks}
1183
1184 Most, but not all, windows respond to this event.
1185
1186 To intercept this event, use the EVT\_MOUSE\_EVENTS macro in an event table definition, or individual
1187 mouse event macros such as EVT\_LEFT\_DOWN.
1188
1189 \wxheading{See also}
1190
1191 \helpref{wxMouseEvent}{wxmouseevent},\rtfsp
1192 \helpref{Event handling overview}{eventhandlingoverview}
1193
1194 \membersection{wxWindow::OnMove}\label{wxwindowonmove}
1195
1196 \func{void}{OnMove}{\param{wxMoveEvent\& }{event}}
1197
1198 Called when a window is moved.
1199
1200 \wxheading{Parameters}
1201
1202 \docparam{event}{The move event. For more information, see \helpref{wxMoveEvent}{wxmoveevent}.}
1203
1204 \wxheading{Remarks}
1205
1206 Use the EVT\_MOVE macro to intercept move events.
1207
1208 \wxheading{Remarks}
1209
1210 Not currently implemented.
1211
1212 \wxheading{See also}
1213
1214 \helpref{wxMoveEvent}{wxmoveevent},\rtfsp
1215 \helpref{wxFrame::OnSize}{wxframeonsize},\rtfsp
1216 \helpref{Event handling overview}{eventhandlingoverview}
1217
1218 \membersection{wxWindow::OnPaint}\label{wxwindowonpaint}
1219
1220 \func{void}{OnPaint}{\param{wxPaintEvent\& }{event}}
1221
1222 Sent to the event handler when the window must be refreshed.
1223
1224 \wxheading{Parameters}
1225
1226 \docparam{event}{Paint event. For more information, see \helpref{wxPaintEvent}{wxpaintevent}.}
1227
1228 \wxheading{Remarks}
1229
1230 Use the EVT\_PAINT macro in an event table definition to intercept paint events.
1231
1232 In a paint event handler, the application should always create a \helpref{wxPaintDC}{wxpaintdc} object.
1233
1234 For example:
1235
1236 \small{%
1237 \begin{verbatim}
1238 void MyWindow::OnPaint(wxPaintEvent& event)
1239 {
1240 wxPaintDC dc(this);
1241
1242 DrawMyDocument(dc);
1243 }
1244 \end{verbatim}
1245 }%
1246
1247 You can optimize painting by retrieving the rectangles
1248 that have been damaged and only repainting these. The rectangles are in
1249 terms of the client area, and are unscrolled, so you will need to do
1250 some calculations using the current view position to obtain logical,
1251 scrolled units.
1252
1253 Here is an example of using the \helpref{wxRegionIterator}{wxregioniterator} class:
1254
1255 {\small%
1256 \begin{verbatim}
1257 // Called when window needs to be repainted.
1258 void MyWindow::OnPaint(wxPaintEvent& event)
1259 {
1260 wxPaintDC dc(this);
1261
1262 // Find Out where the window is scrolled to
1263 int vbX,vbY; // Top left corner of client
1264 ViewStart(&vbX,&vbY);
1265
1266 int vX,vY,vW,vH; // Dimensions of client area in pixels
1267 wxRegionIterator upd(GetUpdateRegion()); // get the update rect list
1268
1269 while (upd)
1270 {
1271 vX = upd.GetX();
1272 vY = upd.GetY();
1273 vW = upd.GetW();
1274 vH = upd.GetH();
1275
1276 // Alternatively we can do this:
1277 // wxRect rect;
1278 // upd.GetRect(&rect);
1279
1280 // Repaint this rectangle
1281 ...some code...
1282
1283 upd ++ ;
1284 }
1285 }
1286 \end{verbatim}
1287 }%
1288
1289 \wxheading{See also}
1290
1291 \helpref{wxPaintEvent}{wxpaintevent},\rtfsp
1292 \helpref{wxPaintDC}{wxpaintdc},\rtfsp
1293 \helpref{Event handling overview}{eventhandlingoverview}
1294
1295 \func{void}{OnScroll}{\param{wxScrollEvent\& }{event}}
1296
1297 Called when a scroll event is received from one of the window's built-in scrollbars.
1298
1299 \wxheading{Parameters}
1300
1301 \docparam{event}{Command event. Retrieve the new scroll position by
1302 calling \helpref{wxScrollEvent::GetPosition}{wxscrolleventgetposition}, and the
1303 scrollbar orientation by calling \helpref{wxScrollEvent::GetOrientation}{wxscrolleventgetorientation}.}
1304
1305 \wxheading{Remarks}
1306
1307 Note that it is not possible to distinguish between horizontal and vertical scrollbars
1308 until the function is executing (you can't have one function for vertical, another
1309 for horizontal events).
1310
1311 \wxheading{See also}
1312
1313 \helpref{wxScrollEvent}{wxscrollevent},\rtfsp
1314 \helpref{Event handling overview}{eventhandlingoverview}
1315
1316 \membersection{wxWindow::OnSetFocus}\label{wxwindowonsetfocus}
1317
1318 \func{void}{OnSetFocus}{\param{wxFocusEvent\& }{event}}
1319
1320 Called when a window's focus is being set.
1321
1322 \wxheading{Parameters}
1323
1324 \docparam{event}{The focus event. For more information, see \helpref{wxFocusEvent}{wxfocusevent}.}
1325
1326 \wxheading{Remarks}
1327
1328 To intercept this event, use the macro EVT\_SET\_FOCUS in an event table definition.
1329
1330 Most, but not all, windows respond to this event.
1331
1332 \wxheading{See also}
1333
1334 \helpref{wxFocusEvent}{wxfocusevent}, \helpref{wxWindow::OnKillFocus}{wxwindowonkillfocus},\rtfsp
1335 \helpref{Event handling overview}{eventhandlingoverview}
1336
1337 \membersection{wxWindow::OnSize}\label{wxwindowonsize}
1338
1339 \func{void}{OnSize}{\param{wxSizeEvent\& }{event}}
1340
1341 Called when the window has been resized.
1342
1343 \wxheading{Parameters}
1344
1345 \docparam{event}{Size event. For more information, see \helpref{wxSizeEvent}{wxsizeevent}.}
1346
1347 \wxheading{Remarks}
1348
1349 You may wish to use this for frames to resize their child windows as appropriate.
1350
1351 Note that the size passed is of
1352 the whole window: call \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} for the area which may be
1353 used by the application.
1354
1355 \wxheading{See also}
1356
1357 \helpref{wxSizeEvent}{wxsizeevent},\rtfsp
1358 \helpref{Event handling overview}{eventhandlingoverview}
1359
1360 \membersection{wxWindow::OnSysColourChanged}\label{wxwindowonsyscolourchanged}
1361
1362 \func{void}{OnSysColourChanged}{\param{wxOnSysColourChangedEvent\& }{event}}
1363
1364 Called when the user has changed the system colours.
1365
1366 \wxheading{Parameters}
1367
1368 \docparam{event}{System colour change event. For more information, see \helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}.}
1369
1370 \wxheading{See also}
1371
1372 \helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent},\rtfsp
1373 \helpref{Event handling overview}{eventhandlingoverview}
1374
1375 \membersection{wxWindow::PopEventHandler}\label{wxwindowpopeventhandler}
1376
1377 \constfunc{wxEvtHandler*}{PopEventHandler}{\param{bool }{deleteHandler = FALSE}}
1378
1379 Removes and returns the top-most event handler on the event handler stack.
1380
1381 \wxheading{Parameters}
1382
1383 \docparam{deleteHandler}{If this is TRUE, the handler will be deleted after it is removed. The
1384 default value is FALSE.}
1385
1386 \wxheading{See also}
1387
1388 \helpref{wxWindow::SetEventHandler}{wxwindowseteventhandler},\rtfsp
1389 \helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
1390 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
1391 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
1392 \helpref{wxEvtHandler}{wxevthandler}\rtfsp
1393
1394 \membersection{wxWindow::PopupMenu}\label{wxwindowpopupmenu}
1395
1396 \func{virtual bool}{PopupMenu}{\param{wxMenu* }{menu}, \param{int }{x}, \param{int }{y}}
1397
1398 Pops up the given menu at the specified coordinates, relative to this
1399 window, and returns control when the user has dismissed the menu. If a
1400 menu item is selected, the callback defined for the menu is called with
1401 wxMenu and wxCommandEvent reference arguments. The callback should access
1402 the commandInt member of the event to check the selected menu identifier.
1403
1404 \wxheading{Parameters}
1405
1406 \docparam{menu}{Menu to pop up.}
1407
1408 \docparam{x}{Required x position for the menu to appear.}
1409
1410 \docparam{y}{Required y position for the menu to appear.}
1411
1412 \wxheading{See also}
1413
1414 \helpref{wxMenu}{wxmenu}, \helpref{wxWindow::FakePopupMenu}{wxwindowfakepopupmenu}
1415
1416 \membersection{wxWindow::PushEventHandler}\label{wxwindowpusheventhandler}
1417
1418 \func{void}{PushEventHandler}{\param{wxEvtHandler* }{handler}}
1419
1420 Pushes this event handler onto the event stack for the window.
1421
1422 \wxheading{Parameters}
1423
1424 \docparam{handler}{Specifies the handler to be pushed.}
1425
1426 \wxheading{Remarks}
1427
1428 An event handler is an object that is capable of processing the events
1429 sent to a window. By default, the window is its own event handler, but
1430 an application may wish to substitute another, for example to allow
1431 central implementation of event-handling for a variety of different
1432 window classes.
1433
1434 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler} allows
1435 an application to set up a chain of event handlers, where an event not handled by one event handler is
1436 handed to the next one in the chain. Use \helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler} to
1437 remove the event handler.
1438
1439 \wxheading{See also}
1440
1441 \helpref{wxWindow::SetEventHandler}{wxwindowseteventhandler},\rtfsp
1442 \helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
1443 \helpref{wxWindow::PopEventHandler}{wxwindowpusheventhandler},\rtfsp
1444 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
1445 \helpref{wxEvtHandler}{wxevthandler}
1446
1447 \membersection{wxWindow::Raise}\label{wxwindowraise}
1448
1449 \func{void}{Raise}{\void}
1450
1451 Raises the window to the top of the window hierarchy if it is a managed window (dialog
1452 or frame).
1453
1454 \membersection{wxWindow::Refresh}\label{wxwindowrefresh}
1455
1456 \func{virtual void}{Refresh}{\param{const bool}{ eraseBackground = TRUE}, \param{const wxRect* }{rect
1457 = NULL}}
1458
1459 Causes a message or event to be generated to repaint the
1460 window.
1461
1462 \wxheading{Parameters}
1463
1464 \docparam{eraseBackground}{If TRUE, the background will be
1465 erased.}
1466
1467 \docparam{rect}{If non-NULL, only the given rectangle will
1468 be treated as damaged.}
1469
1470 \membersection{wxWindow::ReleaseMouse}\label{wxwindowreleasemouse}
1471
1472 \func{virtual void}{ReleaseMouse}{\void}
1473
1474 Releases mouse input captured with \helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}.
1475
1476 \wxheading{See also}
1477
1478 \helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}
1479
1480 \membersection{wxWindow::RemoveChild}\label{wxwindowremovechild}
1481
1482 \func{virtual void}{RemoveChild}{\param{wxWindow* }{child}}
1483
1484 Removes a child window. This is called automatically by window deletion
1485 functions so should not be required by the application programmer.
1486
1487 \wxheading{Parameters}
1488
1489 \docparam{child}{Child window to remove.}
1490
1491 \membersection{wxWindow::ScreenToClient}\label{wxwindowscreentoclient}
1492
1493 \constfunc{virtual void}{ScreenToClient}{\param{int* }{x}, \param{int* }{y}}
1494
1495 \constfunc{virtual wxPoint}{ScreenToClient}{\param{const wxPoint\& }{pt}}
1496
1497 Converts from screen to client window coordinates.
1498
1499 \wxheading{Parameters}
1500
1501 \docparam{x}{Stores the screen x coordinate and receives the client x coordinate.}
1502
1503 \docparam{y}{Stores the screen x coordinate and receives the client x coordinate.}
1504
1505 \docparam{pt}{The screen position for the second form of the function.}
1506
1507 \membersection{wxWindow::ScrollWindow}\label{wxwindowscrollwindow}
1508
1509 \func{virtual void}{ScrollWindow}{\param{int }{dx}, \param{int }{dy}, \param{const wxRect*}{ rect = NULL}}
1510
1511 Physically scrolls the pixels in the window.
1512
1513 \wxheading{Parameters}
1514
1515 \docparam{dx}{Amount to scroll horizontally.}
1516
1517 \docparam{dy}{Amount to scroll vertically.}
1518
1519 \docparam{rect}{Rectangle to invalidate. If this is NULL, the whole window is invalidated. If you
1520 pass a rectangle corresponding to the area of the window exposed by the scroll, your painting handler
1521 can optimise painting by checking for the invalidated region.}
1522
1523 \wxheading{Remarks}
1524
1525 Available only under Windows.
1526
1527 Use this function to optimise your scrolling implementations, to minimise the area that must be
1528 redrawn.
1529
1530 \membersection{wxWindow::SetAcceleratorTable}\label{wxwindowsetacceleratortable}
1531
1532 \func{virtual void}{SetAcceleratorTable}{\param{const wxAcceleratorTable\&}{ accel}}
1533
1534 Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxacceleratortable}.
1535
1536 \membersection{wxWindow::SetAutoLayout}\label{wxwindowsetautolayout}
1537
1538 \func{void}{SetAutoLayout}{\param{const bool}{ autoLayout}}
1539
1540 Determines whether the \helpref{wxWindow::Layout}{wxwindowlayout} function will
1541 be called automatically when the window is resized.
1542
1543 \wxheading{Parameters}
1544
1545 \docparam{autoLayout}{Set this to TRUE if you wish the Layout function to be called
1546 from within wxWindow::OnSize functions.}
1547
1548 \wxheading{See also}
1549
1550 \helpref{wxWindow::SetConstraints}{wxwindowsetconstraints}
1551
1552 \membersection{wxWindow::SetBackgroundColour}\label{wxwindowsetbackgroundcolour}
1553
1554 \func{virtual void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
1555
1556 Sets the background colour of the window.
1557
1558 \wxheading{Parameters}
1559
1560 \docparam{colour}{The colour to be used as the background colour.}
1561
1562 \wxheading{Remarks}
1563
1564 The background colour is usually painted by the default\rtfsp
1565 \helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground} event handler function.
1566
1567 \wxheading{See also}
1568
1569 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour},\rtfsp
1570 \helpref{wxWindow::SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
1571 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
1572 \helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground}
1573
1574 \membersection{wxWindow::SetConstraints}\label{wxwindowsetconstraints}
1575
1576 \func{void}{SetConstraints}{\param{wxLayoutConstraints* }{constraints}}
1577
1578 Sets the window to have the given layout constraints. The window
1579 will then own the object, and will take care of its deletion.
1580 If an existing layout constraints object is already owned by the
1581 window, it will be deleted.
1582
1583 \wxheading{Parameters}
1584
1585 \docparam{constraints}{The constraints to set. Pass NULL to disassociate and delete the window's
1586 constraints.}
1587
1588 \wxheading{Remarks}
1589
1590 You must call \helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout} to tell a window to use
1591 the constraints automatically in OnSize; otherwise, you must
1592 override OnSize and call Layout explicitly.
1593
1594 \membersection{wxWindow::SetDropTarget}\label{wxwindowsetdroptarget}
1595
1596 \func{void}{SetDropTarget}{\param{wxDropTarget*}{ target}}
1597
1598 Associates a drop target with this window.
1599
1600 If the window already has a drop target, it is deleted.
1601
1602 \wxheading{See also}
1603
1604 \helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget},
1605 \helpref{Drag and drop overview}{wxdndoverview}
1606
1607 \membersection{wxWindow::SetFocus}\label{wxwindowsetfocus}
1608
1609 \func{virtual void}{SetFocus}{\void}
1610
1611 This sets the window to receive keyboard input.
1612
1613 \membersection{wxWindow::SetFont}\label{wxwindowsetfont}
1614
1615 \func{void}{SetFont}{\param{const wxFont\& }{font}}
1616
1617 Sets the font for this window.
1618
1619 \wxheading{Parameters}
1620
1621 \docparam{font}{Font to associate with this window.}
1622
1623 \wxheading{See also}
1624
1625 \helpref{wxWindow::GetFont}{wxwindowgetfont}
1626
1627 \membersection{wxWindow::SetForegroundColour}\label{wxwindowsetforegroundcolour}
1628
1629 \func{virtual void}{SetForegroundColour}{\param{const wxColour\& }{colour}}
1630
1631 Sets the foreground colour of the window.
1632
1633 \wxheading{Parameters}
1634
1635 \docparam{colour}{The colour to be used as the foreground colour.}
1636
1637 \wxheading{Remarks}
1638
1639 The interpretation of foreground colour is open to interpretation according
1640 to the window class; it may be the text colour or other colour, or it may not
1641 be used at all.
1642
1643 \wxheading{See also}
1644
1645 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
1646 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
1647 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}
1648
1649 \membersection{wxWindow::SetId}\label{wxwindowsetid}
1650
1651 \func{void}{SetId}{\param{int}{ id}}
1652
1653 Sets the identifier of the window.
1654
1655 \wxheading{Remarks}
1656
1657 Each window has an integer identifier. If the application has not provided one,
1658 an identifier will be generated. Normally, the identifier should be provided
1659 on creation and should not be modified subsequently.
1660
1661 TODO: perhaps there should be a default identifier for each class, rather
1662 choosing one, which could clash with other ones.
1663
1664 \wxheading{See also}
1665
1666 \helpref{wxWindow::GetId}{wxwindowgetid}
1667
1668
1669 \membersection{wxWindow::SetName}\label{wxwindowsetname}
1670
1671 \func{virtual void}{SetName}{\param{const wxString\& }{name}}
1672
1673 Sets the window's name.
1674
1675 \wxheading{Parameters}
1676
1677 \docparam{name}{A name to set for the window.}
1678
1679 \wxheading{See also}
1680
1681 \helpref{wxWindow::GetName}{wxwindowgetname}
1682
1683 \membersection{wxWindow::SetReturnCode}\label{wxwindowsetreturncode}
1684
1685 \func{void}{SetReturnCode}{\param{int }{retCode}}
1686
1687 Sets the return code for this window.
1688
1689 \wxheading{Parameters}
1690
1691 \docparam{retCode}{The integer return code, usually a control identifier.}
1692
1693 \wxheading{Remarks}
1694
1695 A return code is normally associated with a modal dialog, where \helpref{wxDialog::ShowModal}{wxdialogshowmodal} returns
1696 a code to the application. The function \helpref{wxDialog::EndModal}{wxdialogendmodal} calls {\bf SetReturnCode}.
1697
1698 \wxheading{See also}
1699
1700 \helpref{wxWindow::GetReturnCode}{wxwindowgetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
1701 \helpref{wxDialog::EndModal}{wxdialogendmodal}
1702
1703 \membersection{wxWindow::SetScrollbar}\label{wxwindowsetscrollbar}
1704
1705 \func{virtual void}{SetScrollbar}{\param{int }{orientation}, \param{int }{position},\rtfsp
1706 \param{int }{thumbSize}, \param{int }{range},\rtfsp
1707 \param{const bool }{refresh = TRUE}}
1708
1709 Sets the scrollbar properties of a built-in scrollbar.
1710
1711 \wxheading{Parameters}
1712
1713 \docparam{orientation}{Determines the scrollbar whose page size is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1714
1715 \docparam{position}{The position of the scrollbar in scroll units.}
1716
1717 \docparam{thumbSize}{The size of the thumb, or visible portion of the scrollbar, in scroll units.}
1718
1719 \docparam{range}{The maximum position of the scrollbar.}
1720
1721 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1722
1723 \wxheading{Remarks}
1724
1725 Let's say you wish to display 50 lines of text, using the same font.
1726 The window is sized so that you can only see 16 lines at a time.
1727
1728 You would use:
1729
1730 {\small%
1731 \begin{verbatim}
1732 SetScrollbar(wxVERTICAL, 0, 16, 50);
1733 \end{verbatim}
1734 }
1735
1736 Note that with the window at this size, the thumb position can never go
1737 above 50 minus 16, or 34.
1738
1739 You can determine how many lines are currently visible by dividing the current view
1740 size by the character height in pixels.
1741
1742 When defining your own scrollbar behaviour, you will always need to recalculate
1743 the scrollbar settings when the window size changes. You could therefore put your
1744 scrollbar calculations and SetScrollbar
1745 call into a function named AdjustScrollbars, which can be called initially and also
1746 from your \helpref{wxWindow::OnSize}{wxwindowonsize} event handler function.
1747
1748 \wxheading{See also}
1749
1750 \helpref{Scrolling overview}{scrollingoverview},\rtfsp
1751 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1752
1753 \begin{comment}
1754 \membersection{wxWindow::SetScrollPage}\label{wxwindowsetscrollpage}
1755
1756 \func{virtual void}{SetScrollPage}{\param{int }{orientation}, \param{int }{pageSize}, \param{const bool }{refresh = TRUE}}
1757
1758 Sets the page size of one of the built-in scrollbars.
1759
1760 \wxheading{Parameters}
1761
1762 \docparam{orientation}{Determines the scrollbar whose page size is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1763
1764 \docparam{pageSize}{Page size in scroll units.}
1765
1766 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1767
1768 \wxheading{Remarks}
1769
1770 The page size of a scrollbar is the number of scroll units that the scroll thumb travels when you
1771 click on the area above/left of or below/right of the thumb. Normally you will want a whole visible
1772 page to be scrolled, i.e. the size of the current view (perhaps the window client size). This
1773 value has to be adjusted when the window is resized, since the page size will have changed.
1774
1775 In addition to specifying how far the scroll thumb travels when paging, in Motif and some versions of Windows
1776 the thumb changes size to reflect the page size relative to the length of the document. When the
1777 document size is only slightly bigger than the current view (window) size, almost all of the scrollbar
1778 will be taken up by the thumb. When the two values become the same, the scrollbar will (on some systems)
1779 disappear.
1780
1781 Currently, this function should be called before SetPageRange, because of a quirk in the Windows
1782 handling of pages and ranges.
1783
1784 \wxheading{See also}
1785
1786 \helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
1787 \helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
1788 \helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
1789 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1790 \end{comment}
1791
1792 \membersection{wxWindow::SetScrollPos}\label{wxwindowsetscrollpos}
1793
1794 \func{virtual void}{SetScrollPos}{\param{int }{orientation}, \param{int }{pos}, \param{const bool }{refresh = TRUE}}
1795
1796 Sets the position of one of the built-in scrollbars.
1797
1798 \wxheading{Parameters}
1799
1800 \docparam{orientation}{Determines the scrollbar whose position is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1801
1802 \docparam{pos}{Position in scroll units.}
1803
1804 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1805
1806 \wxheading{Remarks}
1807
1808 This function does not directly affect the contents of the window: it is up to the
1809 application to take note of scrollbar attributes and redraw contents accordingly.
1810
1811 \wxheading{See also}
1812
1813 \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar},\rtfsp
1814 \helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
1815 \helpref{wxWindow::GetScrollThumb}{wxwindowgetscrollthumb},\rtfsp
1816 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1817
1818 \begin{comment}
1819 \membersection{wxWindow::SetScrollRange}\label{wxwindowsetscrollrange}
1820
1821 \func{virtual void}{SetScrollRange}{\param{int }{orientation}, \param{int }{range}, \param{const bool }{refresh = TRUE}}
1822
1823 Sets the range of one of the built-in scrollbars.
1824
1825 \wxheading{Parameters}
1826
1827 \docparam{orientation}{Determines the scrollbar whose range is to be set. May be wxHORIZONTAL or wxVERTICAL.}
1828
1829 \docparam{range}{Scroll range.}
1830
1831 \docparam{refresh}{TRUE to redraw the scrollbar, FALSE otherwise.}
1832
1833 \wxheading{Remarks}
1834
1835 The range of a scrollbar is the number of steps that the thumb may travel, rather than the total
1836 object length of the scrollbar. If you are implementing a scrolling window, for example, you
1837 would adjust the scroll range when the window is resized, by subtracting the window view size from the
1838 total virtual window size. When the two sizes are the same (all the window is visible), the range goes to zero
1839 and usually the scrollbar will be automatically hidden.
1840
1841 \wxheading{See also}
1842
1843 \helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
1844 \helpref{wxWindow::SetScrollPage}{wxwindowsetscrollpage},\rtfsp
1845 \helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
1846 \helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
1847 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
1848 \end{comment}
1849
1850 \membersection{wxWindow::SetSize}\label{wxwindowsetsize}
1851
1852 \func{virtual void}{SetSize}{\param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
1853 \param{int}{ sizeFlags = wxSIZE\_AUTO}}
1854
1855 \func{virtual void}{SetSize}{\param{const wxRect\&}{ rect}}
1856
1857 Sets the size and position of the window in pixels.
1858
1859 \func{virtual void}{SetSize}{\param{int}{ width}, \param{int}{ height}}
1860
1861 \func{virtual void}{SetSize}{\param{const wxSize\&}{ size}}
1862
1863 Sets the size of the window in pixels.
1864
1865 \wxheading{Parameters}
1866
1867 \docparam{x}{Required x position in pixels, or -1 to indicate that the existing
1868 value should be used.}
1869
1870 \docparam{y}{Required y position in pixels, or -1 to indicate that the existing
1871 value should be used.}
1872
1873 \docparam{width}{Required width in pixels, or -1 to indicate that the existing
1874 value should be used.}
1875
1876 \docparam{height}{Required height position in pixels, or -1 to indicate that the existing
1877 value should be used.}
1878
1879 \docparam{size}{\helpref{wxSize}{wxsize} object for setting the size.}
1880
1881 \docparam{rect}{\helpref{wxRect}{wxrect} object for setting the position and size.}
1882
1883 \docparam{sizeFlags}{Indicates the interpretation of other parameters. It is a bit list of the following:
1884
1885 {\bf wxSIZE\_AUTO\_WIDTH}: a -1 width value is taken to indicate
1886 a wxWindows-supplied default width.\\
1887 {\bf wxSIZE\_AUTO\_HEIGHT}: a -1 height value is taken to indicate
1888 a wxWindows-supplied default width.\\
1889 {\bf wxSIZE\_AUTO}: -1 size values are taken to indicate
1890 a wxWindows-supplied default size.\\
1891 {\bf wxSIZE\_USE\_EXISTING}: existing dimensions should be used
1892 if -1 values are supplied.\\
1893 {\bf wxSIZE\_ALLOW\_MINUS\_ONE}: allow dimensions of -1 and less to be interpreted
1894 as real dimensions, not default values.
1895 }
1896
1897 \wxheading{Remarks}
1898
1899 The second form is a convenience for calling the first form with default
1900 x and y parameters, and must be used with non-default width and height values.
1901
1902 The first form sets the position and optionally size, of the window.
1903 Parameters may be -1 to indicate either that a default should be supplied
1904 by wxWindows, or that the current value of the dimension should be used.
1905
1906 \wxheading{See also}
1907
1908 \helpref{wxWindow::Move}{wxwindowmove}
1909
1910 \membersection{wxWindow::SetSizeHints}\label{wxwindowsetsizehints}
1911
1912 \func{virtual void}{SetSizeHints}{\param{int}{ minW=-1}, \param{int}{ minH=-1}, \param{int}{ maxW=-1}, \param{int}{ maxH=-1},
1913 \param{int}{ incW=-1}, \param{int}{ incH=-1}}
1914
1915 Allows specification of minimum and maximum window sizes, and window size increments.
1916 If a pair of values is not set (or set to -1), the default values will be used.
1917
1918 \wxheading{Parameters}
1919
1920 \docparam{minW}{Specifies the minimum width allowable.}
1921
1922 \docparam{minH}{Specifies the minimum height allowable.}
1923
1924 \docparam{maxW}{Specifies the maximum width allowable.}
1925
1926 \docparam{maxH}{Specifies the maximum height allowable.}
1927
1928 \docparam{incW}{Specifies the increment for sizing the width (Motif/Xt only).}
1929
1930 \docparam{incH}{Specifies the increment for sizing the height (Motif/Xt only).}
1931
1932 \wxheading{Remarks}
1933
1934 If this function is called, the user will not be able to size the window outside the
1935 given bounds.
1936
1937 The resizing increments are only significant under Motif or Xt.
1938
1939 \membersection{wxWindow::SetClientSize}
1940
1941 \func{virtual void}{SetClientSize}{\param{int}{ width}, \param{int}{ height}}
1942
1943 \func{virtual void}{SetClientSize}{\param{const wxSize\&}{ size}}
1944
1945 This sets the size of the window client area in pixels. Using this function to size a window
1946 tends to be more device-independent than \helpref{wxWindow::SetSize}{wxwindowsetsize}, since the application need not
1947 worry about what dimensions the border or title bar have when trying to fit the window
1948 around panel items, for example.
1949
1950 \wxheading{Parameters}
1951
1952 \docparam{width}{The required client area width.}
1953
1954 \docparam{height}{The required client area height.}
1955
1956 \docparam{size}{The required client size.}
1957
1958 \membersection{wxWindow::SetPalette}
1959
1960 \func{virtual void}{SetPalette}{\param{wxPalette* }{palette}}
1961
1962 Obsolete - use \helpref{wxDC::SetPalette}{wxdcsetpalette} instead.
1963
1964 \membersection{wxWindow::SetCursor}\label{wxwindowsetcursor}
1965
1966 \func{virtual void}{SetCursor}{\param{const wxCursor\&}{cursor}}
1967
1968 Sets the window's cursor.
1969
1970 \wxheading{Parameters}
1971
1972 \docparam{cursor}{Specifies the cursor that the window should normally display.}
1973
1974 \wxheading{Remarks}
1975
1976 Under Windows, you sometimes need to call ::wxSetCursor in addition to this
1977 function if you want the cursor to change immediately, because under Windows,
1978 wxWindows only sets the global cursor when it detects mouse movement.
1979
1980 \wxheading{See also}
1981
1982 \helpref{::wxSetCursor}{wxsetcursor}, \helpref{wxCursor}{wxcursor}
1983
1984 \membersection{wxWindow::SetEventHandler}\label{wxwindowseteventhandler}
1985
1986 \func{void}{SetEventHandler}{\param{wxEvtHandler* }{handler}}
1987
1988 Sets the event handler for this window.
1989
1990 \wxheading{Parameters}
1991
1992 \docparam{handler}{Specifies the handler to be set.}
1993
1994 \wxheading{Remarks}
1995
1996 An event handler is an object that is capable of processing the events
1997 sent to a window. By default, the window is its own event handler, but
1998 an application may wish to substitute another, for example to allow
1999 central implementation of event-handling for a variety of different
2000 window classes.
2001
2002 It is usually better to use \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler} since
2003 this sets up a chain of event handlers, where an event not handled by one event handler is
2004 handed to the next one in the chain.
2005
2006 \wxheading{See also}
2007
2008 \helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
2009 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
2010 \helpref{wxWindow::PopEventHandler}{wxwindowpusheventhandler},\rtfsp
2011 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
2012 \helpref{wxEvtHandler}{wxevthandler}
2013
2014 \membersection{wxWindow::SetTitle}\label{wxwindowsettitle}
2015
2016 \func{virtual void}{SetTitle}{\param{const wxString\& }{title}}
2017
2018 Sets the window's title. Applicable only to frames and dialogs.
2019
2020 \wxheading{Parameters}
2021
2022 \docparam{title}{The window's title.}
2023
2024 \wxheading{See also}
2025
2026 \helpref{wxWindow::GetTitle}{wxwindowgettitle}
2027
2028 \membersection{wxWindow::Show}
2029
2030 \func{virtual bool}{Show}{\param{const bool}{ show}}
2031
2032 Shows or hides the window.
2033
2034 \wxheading{Parameters}
2035
2036 \docparam{show}{If TRUE, displays the window and brings it to the front. Otherwise,
2037 hides the window.}
2038
2039 \wxheading{See also}
2040
2041 \helpref{wxWindow::IsShown}{wxwindowisshown}
2042
2043 \membersection{wxWindow::TransferDataFromWindow}\label{wxwindowtransferdatafromwindow}
2044
2045 \func{virtual bool}{TransferDataFromWindow}{\void}
2046
2047 Transfers values from child controls to data areas specified by their validators. Returns
2048 FALSE if a transfer failed.
2049
2050 \wxheading{See also}
2051
2052 \helpref{wxWindow::TransferDataToWindow}{wxwindowtransferdatatowindow},\rtfsp
2053 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::Validate}{wxwindowvalidate}
2054
2055 \membersection{wxWindow::TransferDataToWindow}\label{wxwindowtransferdatatowindow}
2056
2057 \func{virtual bool}{TransferDataToWindow}{\void}
2058
2059 Transfers values to child controls from data areas specified by their validators.
2060
2061 \wxheading{Return value}
2062
2063 Returns FALSE if a transfer failed.
2064
2065 \wxheading{See also}
2066
2067 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
2068 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::Validate}{wxwindowvalidate}
2069
2070 \membersection{wxWindow::Validate}\label{wxwindowvalidate}
2071
2072 \func{virtual bool}{Validate}{\void}
2073
2074 Validates the current values of the child controls using their validators.
2075
2076 \wxheading{Return value}
2077
2078 Returns FALSE if any of the validations failed.
2079
2080 \wxheading{See also}
2081
2082 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
2083 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
2084 \helpref{wxValidator}{wxvalidator}
2085
2086 \membersection{wxWindow::WarpPointer}\label{wxwindowwarppointer}
2087
2088 \func{void}{WarpPointer}{\param{int}{ x}, \param{int}{ y}}
2089
2090 Moves the pointer to the given position on the window.
2091
2092 \wxheading{Parameters}
2093
2094 \docparam{x}{The new x position for the cursor.}
2095
2096 \docparam{y}{The new y position for the cursor.}
2097