]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/frame.tex
added and documented wxDEFINE_SCOPED_PTR_TYPE; improved docs a bit
[wxWidgets.git] / docs / latex / wx / frame.tex
index 7e3d2169cff3ce0391597c06901019407a4d4d8b..c42b8db335fd32ab76293c11db9acad1addd7ccf 100644 (file)
@@ -24,13 +24,14 @@ application windows.
 
 \twocolwidtha{5cm}
 \begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxRESIZE\_BORDER \pipe wxSYSTEM\_MENU \pipe wxCAPTION}.}
+\twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxRESIZE\_BORDER \pipe wxSYSTEM\_MENU \pipe wxCAPTION \pipe wxCLOSE\_BOX}.}
 \twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized). Windows only. }
 \twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the frame.}
 \twocolitem{\windowstyle{wxMINIMIZE}}{Identical to {\bf wxICONIZE}. Windows only.}
 \twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the frame.}
 \twocolitem{\windowstyle{wxMAXIMIZE}}{Displays the frame maximized. Windows only.}
 \twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the frame.}
+\twocolitem{\windowstyle{wxCLOSE\_BOX}}{Displays a close box on the frame.}
 \twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{Stay on top of all other windows,
 see also wxFRAME\_FLOAT\_ON\_PARENT. Windows only.}
 \twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu.}
@@ -51,10 +52,12 @@ caption. When pressed, Windows will go into a context-sensitive help mode and wx
 a wxEVT\_HELP event if the user clicked on an application window. {\it Note} that this is an extended
 style and must be set by calling \helpref{SetExtraStyle}{wxwindowsetextrastyle} before Create is called (two-step construction).
 You cannot use this style together with wxMAXIMIZE\_BOX or wxMINIMIZE\_BOX, so
-you should use 
+you should use
 {\tt wxDEFAULT\_FRAME\_STYLE \& (wxMINIMIZE\_BOX | wxMAXIMIZE\_BOX)} for the
 frames having this style (the dialogs don't have minimize nor maximize box by
 default)}
+\twocolitem{\windowstyle{wxFRAME\_SHAPED}}{Windows with this style are
+  allowed to have their shape changed with the \helpref{SetShape}{wxframesetshape} method.}
 \end{twocollist}
 
 The default frame style is for normal, resizeable frames. To create a frame
@@ -69,15 +72,15 @@ See also \helpref{window styles overview}{windowstyles}.
 wxFrame processes the following events:
 
 \begin{twocollist}\itemsep=0pt
-\twocolitem{wxEVT\_SIZE}{If the frame has exactly one child window, not
-counting the status and toolbar, this child is resized to take the entire frame
-client area. If two or more windows are present, they should be laid out
-explicitly either by manually handling wxEVT\_SIZE or using 
+\twocolitem{\helpref{wxEVT\_SIZE}{wxsizeevent}}{If the frame has exactly one
+child window, not counting the status and toolbar, this child is resized to
+take the entire frame client area. If two or more windows are present, they
+should be laid out explicitly either by manually handling wxEVT\_SIZE or using
 \helpref{sizers}{sizeroverview}}
 
-\twocolitem{wxEVT\_MENU\_HIGHLIGHT}{The default implementation displays the
-\helpref{help string}{wxmenuitemgethelp} associated with the selected item in
-the first pane of the status bar, if there is one.}
+\twocolitem{\helpref{wxEVT\_MENU\_HIGHLIGHT}{wxmenuevent}}{The default
+implementation displays the \helpref{help string}{wxmenuitemgethelp} associated
+with the selected item in the first pane of the status bar, if there is one.}
 \end{twocollist}
 
 \wxheading{Remarks}
@@ -313,7 +316,7 @@ Iconizes or restores the frame.
 
 \wxheading{Parameters}
 
-\docparam{iconize}{If TRUE, iconizes the frame; if FALSE, shows and restores it.}
+\docparam{iconize}{If true, iconizes the frame; if false, shows and restores it.}
 
 \wxheading{See also}
 
@@ -323,7 +326,7 @@ Iconizes or restores the frame.
 
 \func{bool}{IsFullScreen}{\void}
 
-Returns TRUE if the frame is in fullscreen mode.
+Returns true if the frame is in fullscreen mode.
 
 \wxheading{See also}
 
@@ -333,13 +336,13 @@ Returns TRUE if the frame is in fullscreen mode.
 
 \constfunc{bool}{IsIconized}{\void}
 
-Returns TRUE if the frame is iconized.
+Returns true if the frame is iconized.
 
 \membersection{wxFrame::IsMaximized}\label{wxframeismaximized}
 
 \constfunc{bool}{IsMaximized}{\void}
 
-Returns TRUE if the frame is maximized.
+Returns true if the frame is maximized.
 
 \membersection{wxFrame::Maximize}\label{wxframemaximize}
 
@@ -349,7 +352,7 @@ Maximizes or restores the frame.
 
 \wxheading{Parameters}
 
-\docparam{maximize}{If TRUE, maximizes the frame, otherwise it restores it.}
+\docparam{maximize}{If true, maximizes the frame, otherwise it restores it.}
 
 \wxheading{Remarks}
 
@@ -465,7 +468,7 @@ Sets the icons for this frame.
 
 See also \helpref{wxIconBundle}{wxiconbundle}.
 
-% VZ: we don't have all this any more (18.08.00) 
+% VZ: we don't have all this any more (18.08.00)
 %
 %Under Windows, instead of using {\bf SetIcon}, you can add the
 %following lines to your MS Windows resource file:
@@ -509,15 +512,26 @@ menu bar and its menus will be destroyed also, so do not delete the menu
 bar explicitly (except by resetting the frame's menu bar to another
 frame or NULL).
 
-Under Windows, a call to \helpref{wxFrame::OnSize}{wxframeonsize} is generated, so be sure to initialize
+Under Windows, a size event is generated, so be sure to initialize
 data members properly before calling {\bf SetMenuBar}.
 
-Note that it is not possible to call this function twice for the same frame object.
+Note that on some platforms, it is not possible to call this function twice for the same frame object.
 
 \wxheading{See also}
 
 \helpref{wxFrame::GetMenuBar}{wxframegetmenubar}, \helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}.
 
+\membersection{wxFrame::SetShape}\label{wxframesetshape}
+
+\func{bool}{SetShape}{\param{const wxRegion\&}{ region}}
+
+If the platform supports it, sets the shape of the window to that
+depicted by \it{region}.  The system will not display or
+respond to any mouse event for the pixels that lie outside of the
+region.  To reset the window to the normal rectangular shape simply
+call \it{SetShape} again with an empty region.  Returns TRUE if the
+operation is successful.
+
 \membersection{wxFrame::SetStatusBar}\label{wxframesetstatusbar}
 
 \func{void}{SetStatusBar}{\param{wxStatusBar*}{ statusBar}}
@@ -611,9 +625,10 @@ Sets the frame title.
 
 \func{bool}{ShowFullScreen}{\param{bool}{ show}, \param{long}{ style = wxFULLSCREEN\_ALL}}
 
-Passing TRUE to {\it shows} shows the frame full-screen, and passing FALSE restores the frame
-again. {\it style} is a bit list containing some or all of the following values, which
-indicate what elements of the frame to hide in full-screen mode:
+Depending on the value of {\it show} parameter the frame is either shown full
+screen or restored to its normal state. {\it style} is a bit list containing
+some or all of the following values, which indicate what elements of the frame
+to hide in full-screen mode:
 
 \begin{itemize}\itemsep=0pt
 \item wxFULLSCREEN\_NOMENUBAR
@@ -626,6 +641,9 @@ indicate what elements of the frame to hide in full-screen mode:
 
 This function has not been tested with MDI frames.
 
+Note that showing a frame full screen also actually
+\helpref{Show()s}{wxwindowshow} if it hadn't been shown yet.
+
 \wxheading{See also}
 
 \helpref{wxFrame::IsFullScreen}{wxframeisfullscreen}