EVT_SYS_COLOUR_CHANGED(wxFrameMSW::OnSysColourChanged)
END_EVENT_TABLE()
-IMPLEMENT_DYNAMIC_CLASS(wxFrameMSW, wxWindow)
-
#ifndef __WXUNIVERSAL__
-IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameMSW)
+ IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
#endif
// ============================================================================
{
SetName(name);
m_windowStyle = style;
-#if wxUSE_MENUS
- m_frameMenuBar = NULL;
-#endif // wxUSE_MENUS
-#if wxUSE_TOOLBAR
- m_frameToolBar = NULL;
-#endif // wxUSE_TOOLBAR
-#if wxUSE_STATUSBAR
- m_frameStatusBar = NULL;
-#endif // wxUSE_STATUSBAR
SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE));
}
#endif // wxUSE_STATUSBAR
-void wxFrameMSW::DetachMenuBar()
-{
-#if wxUSE_MENUS
- if ( m_frameMenuBar )
- {
- m_frameMenuBar->Detach();
- m_frameMenuBar = NULL;
- }
-#endif // wxUSE_MENUS
-}
+#if wxUSE_MENUS_NATIVE
-void wxFrameMSW::SetMenuBar(wxMenuBar *menubar)
+void wxFrameMSW::AttachMenuBar(wxMenuBar *menubar)
{
-#if wxUSE_MENUS
- // detach the old menu bar in any case
- DetachMenuBar();
+ m_frameMenuBar = menubar;
-#if wxUSE_MENUS_NATIVE
if ( !menubar )
{
// actually remove the menu from the frame
}
else
{
- if (menubar->IsAttached())
+ if ( menubar->IsAttached() )
menubar->Detach();
m_hMenu = menubar->Create();
InternalSetMenuBar();
}
-#endif // wxUSE_MENUS_NATIVE
-
- if ( menubar )
- {
- m_frameMenuBar = menubar;
- menubar->Attach((wxFrame *)this);
- }
-#endif // wxUSE_MENUS
}
-#if wxUSE_MENUS_NATIVE
-
void wxFrameMSW::InternalSetMenuBar()
{
#ifndef __WXMICROWIN__
// the child MDI frames are a special case and should not be touched by
// the parent frame - instead, they are managed by the user
- wxFrameMSW *frame = wxDynamicCast(win, wxFrameMSW);
+ wxFrameMSW *frame = wxDynamicCast(win, wxFrame);
if ( frame
#if wxUSE_MDI_ARCHITECTURE
&& !wxDynamicCast(frame, wxMDIChildFrame)