X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d89da8a5c9e12fd21cdffce1a922d5122af9128..9869c26285dc51d13607cddaa04f65ce983653a5:/include/wx/msw/msgdlg.h?ds=sidebyside diff --git a/include/wx/msw/msgdlg.h b/include/wx/msw/msgdlg.h index 29ae1be0b3..3562a362c3 100644 --- a/include/wx/msw/msgdlg.h +++ b/include/wx/msw/msgdlg.h @@ -4,7 +4,6 @@ // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -12,7 +11,7 @@ #ifndef _WX_MSGBOXDLG_H_ #define _WX_MSGBOXDLG_H_ -class WXDLLEXPORT wxMessageDialog : public wxMessageDialogBase +class WXDLLIMPEXP_CORE wxMessageDialog : public wxMessageDialogBase { public: wxMessageDialog(wxWindow *parent, @@ -25,16 +24,50 @@ public: m_hook = NULL; } - virtual int ShowModal(); + virtual long GetEffectiveIcon() const; + + // implementation-specific + + // return the font used for the text in the message box + static wxFont GetMessageFont(); + +protected: + // Override this as task dialogs are always centered on parent. + virtual void DoCentre(int dir); + private: + // hook procedure used to adjust the message box beyond what the standard + // MessageBox() function can do for us static WXLRESULT wxCALLBACK HookFunction(int code, WXWPARAM, WXLPARAM); + static const struct ButtonAccessors + { + int id; + wxString (wxMessageDialog::*getter)() const; + } ms_buttons[]; + + // replace the static text control with a text control in order to show + // scrollbar (and also, incidentally, allow text selection) + void ReplaceStaticWithEdit(); + + // adjust the button labels + // + // this is called from HookFunction() and our HWND is valid at this moment + void AdjustButtonLabels(); + + // offset all buttons starting from the first one given by dx to the right + void OffsetButtonsStartingFrom(int first, int dx); + + // used by ShowModal() to display a message box when task dialogs + // aren't available. + int ShowMessageBox(); + + WXHANDLE m_hook; // HHOOK used to position the message box - DECLARE_DYNAMIC_CLASS(wxMessageDialog) - DECLARE_NO_COPY_CLASS(wxMessageDialog) + wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxMessageDialog); };