@li @c 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 sizers;
+ by manually handling @c wxEVT_SIZE or using sizers;
@li @c wxEVT_MENU_HIGHLIGHT: the default implementation displays the help string
associated with the selected item in the first pane of the status bar, if there is one.
- @section frame_styles
-
- wxFrame supports the following styles:
-
@beginStyleTable
@style{wxDEFAULT_FRAME_STYLE}
Defined as wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER |
look. This is an extra style.
@endExtraStyleTable
+ @beginEventEmissionTable
+ @event{EVT_CLOSE(func)}
+ The frame is being closed by the user or programmatically (see wxWindow::Close).
+ The user may generate this event clicking the close button
+ (typically the 'X' on the top-right of the title bar) if it's present
+ (see the @c wxCLOSE_BOX style). See wxCloseEvent.
+ @event{EVT_ICONIZE(func)}
+ Process a @c wxEVT_ICONIZE event. See wxIconizeEvent.
+ @event{EVT_MENU_OPEN(func)}
+ A menu is about to be opened. See wxMenuEvent.
+ @event{EVT_MENU_CLOSE(func)}
+ A menu has been just closed. See wxMenuEvent.
+ @event{EVT_MENU_HIGHLIGHT(id, func)}
+ The menu item with the specified id has been highlighted: used to show
+ help prompts in the status bar by wxFrame. See wxMenuEvent.
+ @event{EVT_MENU_HIGHLIGHT_ALL(func)}
+ A menu item has been highlighted, i.e. the currently selected menu item has changed.
+ See wxMenuEvent.
+ @endEventTable
+
@library{wxcore}
@category{managedwnd}
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
- const wxString& name = "frame");
+ const wxString& name = wxFrameNameStr);
/**
Destructor. Destroys all child windows and menu bar if present.
+
+ See @ref overview_windowdeletion for more info.
*/
virtual ~wxFrame();
Used in two-step frame construction.
See wxFrame() for further details.
*/
- bool Create(wxWindow* parent, wxWindowID id,
- const wxString& title,
+ bool Create(wxWindow* parent, wxWindowID id, const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
- const wxString& name = "frame");
+ const wxString& name = wxFrameNameStr);
/**
Creates a status bar at the bottom of the frame.
@see SetStatusText(), OnCreateStatusBar(), GetStatusBar()
*/
- virtual wxStatusBar* CreateStatusBar(int number = 1,
- long style = 0,
- wxWindowID id = -1,
- const wxString& name = "statusBar");
+ virtual wxStatusBar* CreateStatusBar(int number = 1, long style = wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE,
+ wxWindowID id = 0,
+ const wxString& name = wxStatusLineNameStr);
/**
Creates a toolbar at the top or left of the frame.
@return A pointer to the toolbar if it was created successfully, @NULL
otherwise.
- @remarks By default, the toolbar is an instance of wxToolBar (which is
- defined to be a suitable toolbar class on each
- platform, such as wxToolBar95). To use a different
- class, override OnCreateToolBar().
- When a toolbar has been created with this function, or made
- known to the frame with wxFrame::SetToolBar, the frame will
- manage the toolbar position and adjust the return value from
- wxWindow::GetClientSize to reflect the available space for
- application windows.
- Under Pocket PC, you should always use this function for creating
- the toolbar to be managed by the frame, so that wxWidgets can
- use a combined menubar and toolbar.
- Where you manage your own toolbars, create a wxToolBar as usual.
+ @remarks
+ By default, the toolbar is an instance of wxToolBar.
+ To use a different class, override OnCreateToolBar().
+ When a toolbar has been created with this function, or made
+ known to the frame with wxFrame::SetToolBar(), the frame will
+ manage the toolbar position and adjust the return value from
+ wxWindow::GetClientSize() to reflect the available space for
+ application windows.
+ Under Pocket PC, you should always use this function for creating
+ the toolbar to be managed by the frame, so that wxWidgets can
+ use a combined menubar and toolbar.
+ Where you manage your own toolbars, create a wxToolBar as usual.
@see CreateStatusBar(), OnCreateToolBar(), SetToolBar(), GetToolBar()
*/
virtual wxToolBar* CreateToolBar(long style = wxBORDER_NONE | wxTB_HORIZONTAL,
- wxWindowID id = -1,
- const wxString& name = "toolBar");
+ wxWindowID id = wxID_ANY,
+ const wxString& name = wxToolBarNameStr);
/**
Returns the origin of the frame client area (in client coordinates).
@param id
The identifier for a menu item.
*/
- void ProcessCommand(int id);
+ bool ProcessCommand(int id);
/**
Tells the frame to show the given menu bar.
@param n
The number of fields in the status bar. It must be the
same used in CreateStatusBar.
- @param widths
+ @param widths_field
Must contain an array of n integers, each of which is a status field width
in pixels. A value of -1 indicates that the field is variable width; at
least one field must be -1. You should delete this array after calling
width of all fields, minus the sum of widths of the
non-variable fields, divided by the number of variable fields.
*/
- virtual void SetStatusWidths(int n, int* widths);
+ virtual void SetStatusWidths(int n, const int* widths_field);
/**
Associates a toolbar with the frame.