diff --git a/include/wx/msw/mdi.h b/include/wx/msw/mdi.h index eb85ec402c..caf235fd56 100644 --- a/include/wx/msw/mdi.h +++ b/include/wx/msw/mdi.h @@ -24,7 +24,7 @@ class WXDLLIMPEXP_FWD_CORE wxAcceleratorTable; class WXDLLIMPEXP_CORE wxMDIParentFrame : public wxMDIParentFrameBase { public: - wxMDIParentFrame() { } + wxMDIParentFrame() { Init(); } wxMDIParentFrame(wxWindow *parent, wxWindowID id, const wxString& title, @@ -33,6 +33,8 @@ public: long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, const wxString& name = wxFrameNameStr) { + Init(); + Create(parent, id, title, pos, size, style, name); } @@ -121,6 +123,9 @@ protected: void UpdateClientSize(); private: + // common part of all ctors + void Init(); + #if wxUSE_MENUS // "Window" menu commands event handlers void OnMDICommand(wxCommandEvent& event); diff --git a/src/msw/mdi.cpp b/src/msw/mdi.cpp index 104ea7a9d8..ad76a20f54 100644 --- a/src/msw/mdi.cpp +++ b/src/msw/mdi.cpp @@ -138,6 +138,14 @@ END_EVENT_TABLE() // the children // =========================================================================== +void wxMDIParentFrame::Init() +{ +#if wxUSE_MENUS && wxUSE_ACCEL + // the default menu doesn't have any accelerators (even if we have it) + m_accelWindowMenu = NULL; +#endif // wxUSE_MENUS && wxUSE_ACCEL +} + bool wxMDIParentFrame::Create(wxWindow *parent, wxWindowID id, const wxString& title, @@ -162,11 +170,6 @@ bool wxMDIParentFrame::Create(wxWindow *parent, m_windowMenu->Append(wxID_MDI_WINDOW_PREV, _("&Previous")); } -#if wxUSE_MENUS && wxUSE_ACCEL - // the default menu doesn't have any accelerators (even if we have it) - m_accelWindowMenu = NULL; -#endif // wxUSE_MENUS && wxUSE_ACCEL - if (!parent) wxTopLevelWindows.Append(this);