\wxheading{Derived from}
+\helpref{wxTopLevelWindow}{wxtoplevelwindow}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
There are two kinds of dialog -- {\it modal}\ and {\it modeless}. A modal dialog
blocks program flow and user input on other windows until it is dismissed,
whereas a modeless dialog behaves more like a frame in that program flow
-continues, and input on other windows is still possible. To show a modal dialog
-you should use \helpref{ShowModal}{wxdialogshowmodal} method while to show
-dialog modelessly you simply use \helpref{Show}{wxdialogshow}, just as with the
+continues, and input in other windows is still possible. To show a modal dialog
+you should use the \helpref{ShowModal}{wxdialogshowmodal} method while to show
+a dialog modelessly you simply use \helpref{Show}{wxdialogshow}, just as with
frames.
-Note that the modal dialogs are one of the very few examples of
+Note that the modal dialog is one of the very few examples of
wxWindow-derived objects which may be created on the stack and not on the heap.
-In other words, although this code snippet
+In other words, although this code snippet:
+
\begin{verbatim}
void AskUser()
{
dlg->Destroy();
}
\end{verbatim}
+
works, you can also achieve the same result by using a simpler code fragment
below:
+
\begin{verbatim}
void AskUser()
{
}
\end{verbatim}
-A dialog may be loaded from a wxWindows resource file (extension {\tt wxr}),
-which may itself be created by Dialog Editor. For details, see
-\helpref{The wxWindows resource system}{resourceformats},
-\helpref{wxWindows resource functions}{resourcefuncs}
-and the resource sample.
-
-An application can define an \helpref{wxCloseEvent}{wxcloseevent} handler for
+An application can define a \helpref{wxCloseEvent}{wxcloseevent} handler for
the dialog to respond to system close events.
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the dialog box.}
-\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION and wxSYSTEM\_MENU (the latter is not used under Unix)}
+\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxCLOSE\_BOX and wxSYSTEM\_MENU (the last one is not used under Unix)}
\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window.}
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
+\twocolitem{\windowstyle{wxCLOSE\_BOX}}{Displays a close box on the frame.}
+\twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the dialog.}
+\twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the dialog.}
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}
-\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).}
+\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows.}
\twocolitem{\windowstyle{wxNO\_3D}}{Under Windows, specifies that the child controls
should not have 3D borders unless specified in the control.}
-\twocolitem{\windowstyle{wxDIALOG\_NO\_PARENT}}{By default, the dialogs created
-with {\tt NULL} parent window will be given the
-\helpref{applications top level window}{wxappgettopwindow} as parent. Use this
-style to prevent this from happening and create a really orphan dialog (note
-that this is not recommended for modal dialogs).}
+\twocolitem{\windowstyle{wxDIALOG\_NO\_PARENT}}{By default, a dialog created
+with a {\tt NULL} parent window will be given the
+\helpref{application's top level window}{wxappgettopwindow} as parent. Use this
+style to prevent this from happening and create an orphan dialog. This is not recommended for modal dialogs.}
\twocolitem{\windowstyle{wxDIALOG\_EX\_CONTEXTHELP}}{Under Windows, puts a query button on the
-caption. When pressed, Windows will go into a context-sensitive help mode and wxWindows will send
+caption. When pressed, Windows will go into a context-sensitive help mode and wxWidgets will send
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).}
+\twocolitem{\windowstyle{wxDIALOG\_EX\_METAL}}{On Mac OS X, frames with this style will be shown with a metallic look. This is an {\it extra} style.}
\end{twocollist}
Under Unix or Linux, MWM (the Motif Window Manager) or other window managers
\wxheading{See also}
-\helpref{wxDialog overview}{wxdialogoverview}, \helpref{wxFrame}{wxframe}, \helpref{Resources}{resources},\rtfsp
+\helpref{wxDialog overview}{wxdialogoverview}, \helpref{wxFrame}{wxframe},\rtfsp
\helpref{Validator overview}{validatoroverview}
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxDialog::wxDialog}\label{wxdialogconstr}
+\membersection{wxDialog::wxDialog}\label{wxdialogctor}
\func{}{wxDialog}{\void}
\docparam{title}{The title of the dialog.}
\docparam{pos}{The dialog position. A value of (-1, -1) indicates a default position, chosen by
-either the windowing system or wxWindows, depending on platform.}
+either the windowing system or wxWidgets, depending on platform.}
\docparam{size}{The dialog size. A value of (-1, -1) indicates a default size, chosen by
-either the windowing system or wxWindows, depending on platform.}
+either the windowing system or wxWidgets, depending on platform.}
\docparam{style}{The window style. See \helpref{wxDialog}{wxdialog}.}
\helpref{wxDialog::Create}{wxdialogcreate}
-\membersection{wxDialog::\destruct{wxDialog}}
+\membersection{wxDialog::\destruct{wxDialog}}\label{wxdialogdtor}
\func{}{\destruct{wxDialog}}{\void}
\param{long}{ style = wxDEFAULT\_DIALOG\_STYLE},\rtfsp
\param{const wxString\& }{name = ``dialogBox"}}
-Used for two-step dialog box construction. See \helpref{wxDialog::wxDialog}{wxdialogconstr}\rtfsp
+Used for two-step dialog box construction. See \helpref{wxDialog::wxDialog}{wxdialogctor}\rtfsp
for details.
+\membersection{wxDialog::CreateButtonSizer}\label{wxdialogcreatebuttonsizer}
+
+\func{wxSizer*}{CreateButtonSizer}{\param{long}{ flags}}
+
+Creates a sizer with standard buttons. {\it flags} is a bit list
+of the following flags: wxOK, wxCANCEL, wxYES, wxNO, wxHELP, wxNO\_DEFAULT.
+
+The sizer lays out the buttons in a manner appropriate to the platform.
+
+This function simply calls \helpref{CreateStdDialogButtonSizer}{wxdialogcreatestddialogbuttonsizer}.
+
+\membersection{wxDialog::CreateStdDialogButtonSizer}\label{wxdialogcreatestddialogbuttonsizer}
+
+\func{wxStdDialogButtonSizer*}{CreateStdDialogButtonSizer}{\param{long}{ flags}}
+
+Creates a \helpref{wxStdDialogButtonSizer}{wxstddialogbuttonsizer} with standard buttons. {\it flags} is a bit list
+of the following flags: wxOK, wxCANCEL, wxYES, wxNO, wxHELP, wxNO\_DEFAULT.
+
+The sizer lays out the buttons in a manner appropriate to the platform.
+
+\membersection{wxDialog::DoOK}\label{wxdialogdook}
+
+\func{virtual bool}{DoOK}{\void}
+
+This function is called when the titlebar OK button is pressed (PocketPC only).
+A command event for the identifier returned by GetAffirmativeId is sent by
+default. You can override this function. If the function returns false, wxWidgets
+will call Close() for the dialog.
+
\membersection{wxDialog::EndModal}\label{wxdialogendmodal}
\func{void}{EndModal}{\param{int }{retCode}}
\helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode},\rtfsp
\helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}
+\membersection{wxDialog::GetAffirmativeId}\label{wxdialoggetaffirmativeid}
+
+\constfunc{int}{GetAffirmativeId}{\void}
+
+Gets the identifier to be used when the user presses an OK button in a PocketPC titlebar.
+
+\wxheading{See also}
+
+\helpref{wxDialog::SetAffirmativeId}{wxdialogsetaffirmativeid}
+
\membersection{wxDialog::GetReturnCode}\label{wxdialoggetreturncode}
\func{int}{GetReturnCode}{\void}
Returns the title of the dialog box.
+\membersection{wxDialog::GetToolBar}\label{wxdialoggettoolbar}
+
+\constfunc{wxToolBar*}{GetToolBar}{\void}
+
+On PocketPC, a dialog is automatically provided with an empty toolbar. GetToolBar
+allows you to access the toolbar and add tools to it. Removing tools and adding
+arbitrary controls are not currently supported.
+
+This function is not available on any other platform.
+
\membersection{wxDialog::Iconize}\label{wxdialogiconized}
\func{void}{Iconize}{\param{const bool}{ iconize}}
Returns true if the dialog box is modal, false otherwise.
-\membersection{wxDialog::OnCharHook}\label{wxdialogoncharhook}
-
-\func{void}{OnCharHook}{\param{wxKeyEvent\&}{ event}}
-
-This member is called to allow the window to intercept keyboard events
-before they are processed by child windows.
-
-%For more information, see \helpref{wxWindow::OnCharHook}{wxwindowoncharhook}
-
-\wxheading{Remarks}
-
-wxDialog implements this handler to fake a cancel command if the escape key has been
-pressed. This will dismiss the dialog.
-
\membersection{wxDialog::OnApply}\label{wxdialogonapply}
\func{void}{OnApply}{\param{wxCommandEvent\& }{event}}
\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}
+\membersection{wxDialog::SetAffirmativeId}\label{wxdialogsetaffirmativeid}
+
+\func{void}{SetAffirmativeId}{\param{int }{id}}
+
+Sets the identifier to be used when the user presses an OK button in a PocketPC titlebar.
+By default, this is wxID\_OK.
+
+\wxheading{See also}
+
+\helpref{wxDialog::GetAffirmativeId}{wxdialoggetaffirmativeid}
+
\membersection{wxDialog::SetIcon}\label{wxdialogseticon}
\func{void}{SetIcon}{\param{const wxIcon\& }{icon}}