\section{\class{wxFrame}}\label{wxframe}
-A frame is a window whose size and position can (usually) be changed by the user. It usually has
-thick borders and a title bar, and can optionally contain a menu bar, toolbar and
-status bar. A frame can contain any window that is not a frame or dialog.
+A frame is a window whose size and position can (usually) be changed by the
+user. It usually has thick borders and a title bar, and can optionally contain
+a menu bar, toolbar and status bar. A frame can contain any window that is not
+a frame or dialog.
-A frame that has a status bar and toolbar created via the CreateStatusBar/CreateToolBar functions
-manages these windows, and adjusts the value returned by GetClientSize to reflect
-the remaining size available to application windows.
+A frame that has a status bar and toolbar created via the
+CreateStatusBar/CreateToolBar functions manages these windows, and adjusts the
+value returned by GetClientSize to reflect the remaining size available to
+application windows.
\wxheading{Derived from}
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
+\wxheading{Include files}
+
+<wx/frame.h>
+
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized) (Windows only).}
+\twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized). Windows only. }
\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the frame.}
\twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxTHICK\_FRAME \pipe wxSYSTEM\_MENU \pipe wxCAPTION}.}
-\twocolitem{\windowstyle{wxMINIMIZE}}{Identical to {\bf wxICONIZE}.}
-\twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the frame (Windows and Motif only).}
-\twocolitem{\windowstyle{wxMAXIMIZE}}{Displays the frame maximized (Windows only).}
-\twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the frame (Windows and Motif only).}
-\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{Stay on top of other windows (Windows only).}
-\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu (Windows and Motif only).}
-\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Displays a thick frame around the window (Windows and Motif only).}
-\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Motif only).}
+\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{wxSTAY\_ON\_TOP}}{Stay on top of other windows. Windows only. }
+\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu. }
+\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Displays a thick frame around the window. Windows and Motif only.}
+\twocolitem{\windowstyle{wxSIMPLE\_BORDER}}{Displays no border or decorations. GTK and Windows only (?). }
+\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Unix only).}
+\twocolitem{\windowstyle{wxFRAME\_FLOAT\_ON\_PARENT}}{Causes the frame to be above the parent window in the
+z-order and not shown in the taskbar. Without this style, frames are created as top-level windows that may be obscured by
+the parent window, and frame titles are shown in the taskbar. Windows only. }
+\twocolitem{\windowstyle{wxFRAME\_TOOL\_WINDOW}}{Causes a frame with a small titlebar to be created;
+the frame title does not appear in the taskbar. Windows only. }
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\helpref{wxFrame::SetToolBar}{wxframesettoolbar},\rtfsp
\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
+\membersection{wxFrame::GetClientAreaOrigin}\label{wxframegetclientareaorigin}
+
+\constfunc{wxPoint}{GetClientAreaOrigin}{\void}
+
+Returns the origin of the frame client area (in client coordinates). It may be
+different from (0, 0) if the frame has a toolbar.
+
\membersection{wxFrame::GetMenuBar}\label{wxframegetmenubar}
\constfunc{wxMenuBar*}{GetMenuBar}{\void}
\func{void}{Iconize}{\param{const bool}{ iconize}}
-Iconizes or restores the frame.
+Iconizes or restores the frame. Windows only.
\wxheading{Parameters}
\constfunc{bool}{IsIconized}{\void}
-Returns TRUE if the frame is iconized.
+Returns TRUE if the frame is iconized. Windows only.
\membersection{wxFrame::IsMaximized}\label{wxframeismaximized}
Returns TRUE if the frame is maximized.
-\membersection{wxFrame::LoadAccelerators}\label{wxframeloadaccelerators}
-
-\func{void}{LoadAccelerators}{\param{const wxString\& }{table}}
-
-Loads a keyboard accelerator table for this frame.
-
-\wxheading{Parameters}
-
-\docparam{table}{Accelerator table to load.}
-
-\wxheading{Return value}
-
-TRUE if the operation was successful, FALSE otherwise.
-
-\wxheading{Remarks}
-
-Accelerator tables map keystrokes onto control and menu identifiers, so the
-programmer does not have to explicitly program this correspondence.
-
-See the hello demo ({\tt hello.cpp} and {\tt hello.rc}) for
-an example of accelerator usage. This is a fragment from {\tt hello.rc}:
-
-\begin{verbatim}
-#define HELLO_LOAD_FILE 111
-
-menus_accel ACCELERATORS
-{
-
-"^L", HELLO_LOAD_FILE
-
-}
-\end{verbatim}
-
-This function only works under Windows.
-
-% huh? If you call LoadAccelerators, you need to override wxFrame::OnActivate to do nothing.
-
\membersection{wxFrame::Maximize}\label{wxframemaximize}
\func{void}{Maximize}{\param{const bool }{maximize}}
\membersection{wxFrame::OnActivate}
-\func{void}{OnActivate}{\param{bool}{ active}}
+\func{void}{OnActivate}{\param{wxActivateEvent\&}{ event}}
Called when a window is activated or deactivated (MS Windows
-only). If the window is being activated, {\it active} is TRUE, else it
-is FALSE.
-
-If you call wxFrame::LoadAccelerators, you need to override this function e.g.
-
-\begin{verbatim}
- void OnActivate(bool) {};
-\end{verbatim}
+only). See also \helpref{wxActivateEvent}{wxactivateevent}.
\membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar}
-\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}
+\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number},
\param{long}{ style},
\param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
\wxheading{Remarks}
The widths of the variable fields are calculated from the total width of all fields,
-minus the sum of widths of the non-variable fields, divided by the number of
+minus the sum of widths of the non-variable fields, divided by the number of
variable fields.
+\pythonnote{Only a single parameter is required, a Python list of
+integers.}
+
\membersection{wxFrame::SetToolBar}\label{wxframesettoolbar}
\func{void}{SetToolBar}{\param{wxToolBar*}{ toolBar}}
\helpref{wxFrame::GetTitle}{wxframegettitle}
+\membersection{wxFrame::ShowFullScreen}\label{wxframeshowfullscreen}
+
+\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:
+
+\begin{itemize}\itemsep=0pt
+\item wxFULLSCREEN\_NOMENUBAR
+\item wxFULLSCREEN\_NOTOOLBAR
+\item wxFULLSCREEN\_NOSTATUSBAR
+\item wxFULLSCREEN\_NOBORDER
+\item wxFULLSCREEN\_NOCAPTION
+\item wxFULLSCREEN\_ALL (all of the above)
+\end{itemize}
+
+This function only works on Windows and has not been tested with MDI frames.
+