]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/mdi.tex
Typo fixed in tsizer.tex; no change to setup0.h
[wxWidgets.git] / docs / latex / wx / mdi.tex
CommitLineData
a660d684
KB
1\section{\class{wxMDIChildFrame}}\label{wxmdichildframe}
2
3An MDI child frame is a frame that can only exist on a \helpref{wxMDIClientWindow}{wxmdiclientwindow},
4which is itself a child of \helpref{wxMDIParentFrame}{wxmdiparentframe}.
5
6\wxheading{Derived from}
7
8\helpref{wxFrame}{wxframe}\\
9\helpref{wxWindow}{wxwindow}\\
10\helpref{wxEvtHandler}{wxevthandler}\\
11\helpref{wxObject}{wxobject}
12
954b8ae6
JS
13\wxheading{Include files}
14
15<wx/mdi.h>
16
a660d684
KB
17\wxheading{Window styles}
18
19\twocolwidtha{5cm}
20\begin{twocollist}\itemsep=0pt
21\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the frame.}
22\twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxTHICK\_FRAME \pipe wxSYSTEM\_MENU \pipe wxCAPTION}.}
23\twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized) (Windows only).}
24\twocolitem{\windowstyle{wxMAXIMIZE}}{Displays the frame maximized (Windows only).}
25\twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the frame (Windows and Motif only).}
26\twocolitem{\windowstyle{wxMINIMIZE}}{Identical to {\bf wxICONIZE}.}
27\twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the frame (Windows and Motif only).}
28\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Motif only;
29for Windows, it is implicit in wxTHICK\_FRAME).}
30\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{Stay on top of other windows (Windows only).}
31\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu (Windows and Motif only).}
32\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Displays a thick frame around the window (Windows and Motif only).}
33\end{twocollist}
34
35See also \helpref{window styles overview}{windowstyles}.
36
37\wxheading{Remarks}
38
39Although internally an MDI child frame is a child of the MDI client window, in wxWindows
40you create it as a child of \helpref{wxMDIParentFrame}{wxmdiparentframe}. You can usually
41forget that the client window exists.
42
43MDI child frames are clipped to the area of the MDI client window, and may be iconized
44on the client window.
45
46You can associate a menubar with a child frame as usual, although an MDI child doesn't display
47its menubar under its own title bar. The MDI parent frame's menubar will be changed to
48reflect the currently active child frame. If there are currently no children, the parent
49frame's own menubar will be displayed.
50
51\wxheading{See also}
52
53\helpref{wxMDIClientWindow}{wxmdiclientwindow}, \helpref{wxMDIParentFrame}{wxmdiparentframe},\rtfsp
54\helpref{wxFrame}{wxframe}
55
56\latexignore{\rtfignore{\wxheading{Members}}}
57
58\membersection{wxMDIChildFrame::wxMDIChildFrame}\label{wxmdichildframeconstr}
59
60\func{}{wxMDIChildFrame}{\void}
61
62Default constructor.
63
eaaa6a06 64\func{}{wxMDIChildFrame}{\param{wxMDIParentFrame* }{parent}, \param{wxWindowID }{id},\rtfsp
a660d684
KB
65\param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
66\param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE},\rtfsp
67\param{const wxString\& }{name = ``frame"}}
68
69Constructor, creating the window.
70
71\wxheading{Parameters}
72
73\docparam{parent}{The window parent. This should not be NULL.}
74
75\docparam{id}{The window identifier. It may take a value of -1 to indicate a default value.}
76
77\docparam{title}{The caption to be displayed on the frame's title bar.}
78
79\docparam{pos}{The window position. A value of (-1, -1) indicates a default position, chosen by
80either the windowing system or wxWindows, depending on platform.}
81
82\docparam{size}{The window size. A value of (-1, -1) indicates a default size, chosen by
83either the windowing system or wxWindows, depending on platform.}
84
85\docparam{style}{The window style. See \helpref{wxMDIChildFrame}{wxmdichildframe}.}
86
87\docparam{name}{The name of the window. This parameter is used to associate a name with the item,
88allowing the application user to set Motif resource values for
89individual windows.}
90
91\wxheading{Remarks}
92
93None.
94
95\wxheading{See also}
96
97\helpref{wxMDIChildFrame::Create}{wxmdichildframecreate}
98
99\membersection{wxMDIChildFrame::\destruct{wxMDIChildFrame}}
100
101\func{}{\destruct{wxMDIChildFrame}}{\void}
102
103Destructor. Destroys all child windows and menu bar if present.
104
105\membersection{wxMDIChildFrame::Activate}\label{wxmdichildframeactivate}
106
107\func{void}{Activate}{\void}
108
109Activates this MDI child frame.
110
111\wxheading{See also}
112
113\helpref{wxMDIChildFrame::Maximize}{wxmdichildframemaximize},\rtfsp
114\helpref{wxMDIChildFrame::Restore}{wxmdichildframerestore}
115
116\membersection{wxMDIChildFrame::Create}\label{wxmdichildframecreate}
117
eaaa6a06 118\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
a660d684
KB
119\param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
120\param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE},\rtfsp
121\param{const wxString\& }{name = ``frame"}}
122
123Used in two-step frame construction. See \helpref{wxMDIChildFrame::wxMDIChildFrame}{wxmdichildframeconstr}\rtfsp
124for further details.
125
126\membersection{wxMDIChildFrame::Maximize}\label{wxmdichildframemaximize}
127
128\func{void}{Maximize}{\void}
129
130Maximizes this MDI child frame.
131
132\wxheading{See also}
133
134\helpref{wxMDIChildFrame::Activate}{wxmdichildframeactivate},\rtfsp
135\helpref{wxMDIChildFrame::Restore}{wxmdichildframerestore}
136
137\membersection{wxMDIChildFrame::Restore}\label{wxmdichildframerestore}
138
139\func{void}{Restore}{\void}
140
141Restores this MDI child frame (unmaximizes).
142
143\wxheading{See also}
144
145\helpref{wxMDIChildFrame::Activate}{wxmdichildframeactivate},\rtfsp
146\helpref{wxMDIChildFrame::Maximize}{wxmdichildframemaximize}
147
a660d684
KB
148\section{\class{wxMDIClientWindow}}\label{wxmdiclientwindow}
149
150An MDI client window is a child of \helpref{wxMDIParentFrame}{wxmdiparentframe}, and manages zero or
151more \helpref{wxMDIChildFrame}{wxmdichildframe} objects.
152
153\wxheading{Derived from}
154
155\helpref{wxWindow}{wxwindow}\\
156\helpref{wxEvtHandler}{wxevthandler}\\
157\helpref{wxObject}{wxobject}
158
954b8ae6
JS
159\wxheading{Include files}
160
161<wx/mdi.h>
162
a660d684
KB
163\wxheading{Remarks}
164
165The client window is the area where MDI child windows exist. It doesn't have to cover the whole
166parent frame; other windows such as toolbars and a help window might coexist with it.
167There can be scrollbars on a client window, which are controlled by the parent window style.
168
169The {\bf wxMDIClientWindow} class is usually adequate without further derivation, and it is created
170automatically when the MDI parent frame is created. If the application needs to derive a new class,
171the function \helpref{wxMDIParentFrame::OnCreateClient}{wxmdiparentframeoncreateclient} must be
172overridden in order to give an opportunity to use a different class of client window.
173
174Under Windows 95, the client window will automatically have a sunken border style when
175the active child is not maximized, and no border style when a child is maximized.
176
177\wxheading{See also}
178
179\helpref{wxMDIChildFrame}{wxmdichildframe}, \helpref{wxMDIParentFrame}{wxmdiparentframe},\rtfsp
180\helpref{wxFrame}{wxframe}
181
182\latexignore{\rtfignore{\wxheading{Members}}}
183
184\membersection{wxMDIClientWindow::wxMDIClientWindow}\label{wxmdiclientwindowconstr}
185
186\func{}{wxMDIClientWindow}{\void}
187
188Default constructor.
189
190\func{}{wxMDIClientWindow}{\param{wxMDIParentFrame* }{parent}, \param{long}{ style = 0}}
191
192Constructor, creating the window.
193
194\wxheading{Parameters}
195
196\docparam{parent}{The window parent.}
197
198\docparam{style}{The window style. Currently unused.}
199
200\wxheading{Remarks}
201
202The second style of constructor is called within \helpref{wxMDIParentFrame::OnCreateClient}{wxmdiparentframeoncreateclient}.
203
204\wxheading{See also}
205
206\helpref{wxMDIParentFrame::wxMDIParentFrame}{wxmdiparentframeconstr},\rtfsp
207\helpref{wxMDIParentFrame::OnCreateClient}{wxmdiparentframeoncreateclient}
208
209\membersection{wxMDIClientWindow::\destruct{wxMDIClientWindow}}
210
211\func{}{\destruct{wxMDIClientWindow}}{\void}
212
213Destructor.
214
215\membersection{wxMDIClientWindow::CreateClient}\label{wxmdiclientwindowcreateclient}
216
217\func{bool}{CreateClient}{\param{wxMDIParentFrame* }{parent}, \param{long}{ style = 0}}
218
219Used in two-step frame construction. See \helpref{wxMDIClientWindow::wxMDIClientWindow}{wxmdiclientwindowconstr}\rtfsp
220for further details.
221
222\section{\class{wxMDIParentFrame}}\label{wxmdiparentframe}
223
224An MDI (Multiple Document Interface) parent frame is a window which can contain
225MDI child frames in its own `desktop'. It is a convenient way to avoid window clutter,
226and is used in many popular Windows applications, such as Microsoft Word(TM).
227
228\wxheading{Derived from}
229
230\helpref{wxFrame}{wxframe}\\
231\helpref{wxWindow}{wxwindow}\\
232\helpref{wxEvtHandler}{wxevthandler}\\
233\helpref{wxObject}{wxobject}
234
954b8ae6
JS
235\wxheading{Include files}
236
237<wx/mdi.h>
238
a660d684
KB
239\wxheading{Remarks}
240
241There may be multiple MDI parent frames in a single application, but this probably only makes sense
242within programming development environments.
243
244Child frames may be either \helpref{wxMDIChildFrame}{wxmdichildframe}, or \helpref{wxFrame}{wxframe}.
245
246An MDI parent frame always has a \helpref{wxMDIClientWindow}{wxmdiclientwindow} associated with it, which
247is the parent for MDI client frames.
f6bcfd97 248This client window may be resized to accommodate non-MDI windows, as seen in Microsoft Visual C++ (TM) and
a660d684
KB
249Microsoft Publisher (TM), where a documentation window is placed to one side of the workspace.
250
251MDI remains popular despite dire warnings from Microsoft itself that MDI is an obsolete
252user interface style.
253
254The implementation is native in Windows, and simulated under Motif. Under Motif,
255the child window frames will often have a different appearance from other frames
256because the window decorations are simulated.
257
258\wxheading{Window styles}
259
260\twocolwidtha{5cm}
261\begin{twocollist}\itemsep=0pt
262\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the frame.}
263\twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxTHICK\_FRAME \pipe wxSYSTEM\_MENU \pipe wxCAPTION}.}
264\twocolitem{\windowstyle{wxHSCROLL}}{Displays a horizontal scrollbar in the {\it client window}, allowing
265the user to view child frames that are off the current view.}
266\twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized) (Windows only).}
267\twocolitem{\windowstyle{wxMAXIMIZE}}{Displays the frame maximized (Windows only).}
268\twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the frame (Windows and Motif only).}
269\twocolitem{\windowstyle{wxMINIMIZE}}{Identical to {\bf wxICONIZE}.}
270\twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the frame (Windows and Motif only).}
271\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Motif only;
272for Windows, it is implicit in wxTHICK\_FRAME).}
273\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{Stay on top of other windows (Windows only).}
274\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu (Windows and Motif only).}
275\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Displays a thick frame around the window (Windows and Motif only).}
276\twocolitem{\windowstyle{wxVSCROLL}}{Displays a vertical scrollbar in the {\it client window}, allowing
277the user to view child frames that are off the current view.}
8771a323 278\twocolitem{\windowstyle{wxFRAME\_NO\_WINDOW\_MENU}}{Under Windows, removes the Window menu that is normally
df61c009 279added automatically.}
a660d684
KB
280\end{twocollist}
281
282See also \helpref{window styles overview}{windowstyles}.
283
284\wxheading{See also}
285
286\helpref{wxMDIChildFrame}{wxmdichildframe}, \helpref{wxMDIClientWindow}{wxmdiclientwindow},\rtfsp
287\helpref{wxFrame}{wxframe}, \helpref{wxDialog}{wxdialog}
288
289\latexignore{\rtfignore{\wxheading{Members}}}
290
291\membersection{wxMDIParentFrame::wxMDIParentFrame}\label{wxmdiparentframeconstr}
292
293\func{}{wxMDIParentFrame}{\void}
294
295Default constructor.
296
eaaa6a06 297\func{}{wxMDIParentFrame}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
a660d684
KB
298\param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
299\param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE \pipe wxVSCROLL \pipe wxHSCROLL},\rtfsp
300\param{const wxString\& }{name = ``frame"}}
301
302Constructor, creating the window.
303
304\wxheading{Parameters}
305
306\docparam{parent}{The window parent. This should be NULL.}
307
308\docparam{id}{The window identifier. It may take a value of -1 to indicate a default value.}
309
310\docparam{title}{The caption to be displayed on the frame's title bar.}
311
312\docparam{pos}{The window position. A value of (-1, -1) indicates a default position, chosen by
313either the windowing system or wxWindows, depending on platform.}
314
315\docparam{size}{The window size. A value of (-1, -1) indicates a default size, chosen by
316either the windowing system or wxWindows, depending on platform.}
317
318\docparam{style}{The window style. See \helpref{wxMDIParentFrame}{wxmdiparentframe}.}
319
320\docparam{name}{The name of the window. This parameter is used to associate a name with the item,
321allowing the application user to set Motif resource values for
322individual windows.}
323
324\wxheading{Remarks}
325
326During the construction of the frame, the client window will be created. To use a different class
327from \helpref{wxMDIClientWindow}{wxmdiclientwindow}, override\rtfsp
328\helpref{wxMDIParentFrame::OnCreateClient}{wxmdiparentframeoncreateclient}.
329
330Under Windows 95, the client window will automatically have a sunken border style when
331the active child is not maximized, and no border style when a child is maximized.
332
333\wxheading{See also}
334
335\helpref{wxMDIParentFrame::Create}{wxmdiparentframecreate},\rtfsp
336\helpref{wxMDIParentFrame::OnCreateClient}{wxmdiparentframeoncreateclient}
337
338\membersection{wxMDIParentFrame::\destruct{wxMDIParentFrame}}
339
340\func{}{\destruct{wxMDIParentFrame}}{\void}
341
342Destructor. Destroys all child windows and menu bar if present.
343
344\membersection{wxMDIParentFrame::ActivateNext}\label{wxmdiparentframeactivatenext}
345
346\func{void}{ActivateNext}{\void}
347
348Activates the MDI child following the currently active one.
349
350\wxheading{See also}
351
352\helpref{wxMDIParentFrame::ActivatePrevious}{wxmdiparentframeactivateprevious}
353
354\membersection{wxMDIParentFrame::ActivatePrevious}\label{wxmdiparentframeactivateprevious}
355
356\func{void}{ActivatePrevious}{\void}
357
358Activates the MDI child preceding the currently active one.
359
360\wxheading{See also}
361
362\helpref{wxMDIParentFrame::ActivateNext}{wxmdiparentframeactivatenext}
363
364
365\membersection{wxMDIParentFrame::ArrangeIcons}\label{wxmdiparentframearrangeicons}
366
367\func{void}{ArrangeIcons}{\void}
368
369Arranges any iconized (minimized) MDI child windows.
370
371\wxheading{See also}
372
373\helpref{wxMDIParentFrame::Cascade}{wxmdiparentframecascade},\rtfsp
374\helpref{wxMDIParentFrame::Tile}{wxmdiparentframetile}
375
376\membersection{wxMDIParentFrame::Cascade}\label{wxmdiparentframecascade}
377
378\func{void}{Cascade}{\void}
379
380Arranges the MDI child windows in a cascade.
381
382\wxheading{See also}
383
384\helpref{wxMDIParentFrame::Tile}{wxmdiparentframetile},\rtfsp
385\helpref{wxMDIParentFrame::ArrangeIcons}{wxmdiparentframearrangeicons}
386
387\membersection{wxMDIParentFrame::Create}\label{wxmdiparentframecreate}
388
eaaa6a06 389\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
a660d684
KB
390\param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
391\param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE \pipe wxVSCROLL \pipe wxHSCROLL},\rtfsp
392\param{const wxString\& }{name = ``frame"}}
393
394Used in two-step frame construction. See \helpref{wxMDIParentFrame::wxMDIParentFrame}{wxmdiparentframeconstr}\rtfsp
395for further details.
396
397\membersection{wxMDIParentFrame::GetClientSize}\label{wxmdiparentframegetclientsize}
398
399\constfunc{virtual void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
400
401This gets the size of the frame `client area' in pixels.
402
403\wxheading{Parameters}
404
405\docparam{width}{Receives the client width in pixels.}
406
407\docparam{height}{Receives the client height in pixels.}
408
409\wxheading{Remarks}
410
411The client area is the area which may be drawn on by the programmer, excluding title bar, border, status bar,
412and toolbar if present.
413
414If you wish to manage your own toolbar (or perhaps you have more than one),
415provide an {\bf OnSize} event handler. Call {\bf GetClientSize} to
416find how much space there is for your windows and don't forget to set the size and position
417of the MDI client window as well as your toolbar and other windows (but not the status bar).
418
419If you have set a toolbar with \helpref{wxMDIParentFrame::SetToolbar}{wxmdiparentframesettoolbar},
420the client size returned will have subtracted the toolbar height. However, the available positions
421for the client window and other windows of the frame do not start at zero - you must add the toolbar height.
422
423The position and size of the status bar and toolbar (if known to the frame) are always managed
424by {\bf wxMDIParentFrame}, regardless of what behaviour is defined in your {\bf OnSize} event handler.
425However, the client window position and size are always set in {\bf OnSize}, so if you override this
426event handler, make sure you deal with the client window.
427
428You do not have to manage the size and position of MDI child windows, since they are managed
429automatically by the client window.
430
431\wxheading{See also}
432
433\helpref{wxMDIParentFrame::GetToolBar}{wxmdiparentframegettoolbar},\rtfsp
434\helpref{wxMDIParentFrame::SetToolBar}{wxmdiparentframesettoolbar},\rtfsp
a660d684
KB
435\helpref{wxMDIClientWindow}{wxmdiclientwindow}
436
06d20283
RD
437
438\pythonnote{The wxPython version of this method takes no arguments and
439returns a tuple containing width and height.}
440
a660d684
KB
441\membersection{wxMDIParentFrame::GetActiveChild}\label{wxmdiparentframegetactivechild}
442
443\constfunc{wxMDIChildFrame*}{GetActiveChild}{\void}
444
445Returns a pointer to the active MDI child, if there is one.
446
447\membersection{wxMDIParentFrame::GetClientWindow}\label{wxmdiparentframegetclientwindow}
448
449\constfunc{wxMDIClientWindow*}{GetClientWindow}{\void}
450
451Returns a pointer to the client window.
452
453\wxheading{See also}
454
455\helpref{wxMDIParentFrame::OnCreateClient}{wxmdiparentframeoncreateclient}
456
457\membersection{wxMDIParentFrame::GetToolBar}\label{wxmdiparentframegettoolbar}
458
459\constfunc{virtual wxWindow*}{GetToolBar}{\void}
460
461Returns the window being used as the toolbar for this frame.
462
463\wxheading{See also}
464
465\helpref{wxMDIParentFrame::SetToolBar}{wxmdiparentframesettoolbar}
466
df61c009
JS
467\membersection{wxMDIParentFrame::GetWindowMenu}\label{wxmdiparentframegetwindowmenu}
468
469\constfunc{wxMenu*}{GetWindowMenu}{\void}
470
471Returns the current Window menu (added by wxWindows to the menubar). This function
472is available under Windows only.
473
a660d684
KB
474\membersection{wxMDIParentFrame::OnCreateClient}\label{wxmdiparentframeoncreateclient}
475
476\func{virtual wxMDIClientWindow*}{OnCreateClient}{\void}
477
f6bcfd97
BP
478Override this to return a different kind of client window. If you override this function,
479you must create your parent frame in two stages, or your function will never be called,
480due to the way C++ treats virtual functions called from constructors. For example:
481
482\begin{verbatim}
483 frame = new MyParentFrame;
484 frame->Create(parent, myParentFrameId, wxT("My Parent Frame"));
485\end{verbatim}
a660d684
KB
486
487\wxheading{Remarks}
488
489You might wish to derive from \helpref{wxMDIClientWindow}{wxmdiclientwindow} in order
490to implement different erase behaviour, for example, such as painting a bitmap
491on the background.
492
493Note that it is probably impossible to have a client window that scrolls as well as painting
494a bitmap or pattern, since in {\bf OnScroll}, the scrollbar positions always return zero.
5d900781 495(Solutions to: \tt{julian.smart@btopenworld.com}).
a660d684
KB
496
497\wxheading{See also}
498
499\helpref{wxMDIParentFrame::GetClientWindow}{wxmdiparentframegetclientwindow},\rtfsp
500\helpref{wxMDIClientWindow}{wxmdiclientwindow}
501
502\membersection{wxMDIParentFrame::SetToolBar}\label{wxmdiparentframesettoolbar}
503
504\func{virtual void}{SetToolBar}{\param{wxWindow*}{ toolbar}}
505
506Sets the window to be used as a toolbar for this
507MDI parent window. It saves the application having to manage the positioning
508of the toolbar MDI client window.
509
510\wxheading{Parameters}
511
512\docparam{toolbar}{Toolbar to manage.}
513
514\wxheading{Remarks}
515
516When the frame is resized, the toolbar is resized to be the width of
517the frame client area, and the toolbar height is kept the same.
518
519The parent of the toolbar must be this frame.
520
521If you wish to manage your own toolbar (or perhaps you have more than one),
522don't call this function, and instead manage your subwindows and the MDI client window by
523providing an {\bf OnSize} event handler. Call \helpref{wxMDIParentFrame::GetClientSize}{wxmdiparentframegetclientsize} to
524find how much space there is for your windows.
525
526Note that SDI (normal) frames and MDI child windows must always have their
527toolbars managed by the application.
528
529\wxheading{See also}
530
531\helpref{wxMDIParentFrame::GetToolBar}{wxmdiparentframegettoolbar},\rtfsp
532\helpref{wxMDIParentFrame::GetClientSize}{wxmdiparentframegetclientsize}
533
df61c009
JS
534\membersection{wxMDIParentFrame::SetWindowMenu}\label{wxmdiparentframesetwindowmenu}
535
536\func{void}{SetWindowMenu}{\param{wxMenu*}{ menu}}
537
538Call this to change the current Window menu. Ownership of the menu object passes to
539the frame when you call this function.
540
541This call is available under Windows only.
542
543To remove the window completely, use the wxFRAME\_NO\_WINDOW\_MENU window style.
544
a660d684
KB
545\membersection{wxMDIParentFrame::Tile}\label{wxmdiparentframetile}
546
547\func{void}{Tile}{\void}
548
549Tiles the MDI child windows.
550
551\wxheading{See also}
552
553\helpref{wxMDIParentFrame::Cascade}{wxmdiparentframecascade},\rtfsp
554\helpref{wxMDIParentFrame::ArrangeIcons}{wxmdiparentframearrangeicons}
555
556