]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/mdi.cpp
applied patch for compilation with gcc 3.0
[wxWidgets.git] / src / msw / mdi.cpp
index 1967ec43c41d60c1f69e1b5d8a568fd360969aec..b0ede88e4e2af2d219b913494f298a5a4f3a61c9 100644 (file)
@@ -695,7 +695,7 @@ bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
   else
       mcs.cy = CW_USEDEFAULT;
 
-  DWORD msflags = WS_OVERLAPPED | WS_CLIPCHILDREN;
+  DWORD msflags = WS_OVERLAPPED | WS_CLIPCHILDREN | WS_THICKFRAME;
   if (style & wxMINIMIZE_BOX)
     msflags |= WS_MINIMIZEBOX;
   if (style & wxMAXIMIZE_BOX)
@@ -726,14 +726,6 @@ bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
 
   wxModelessWindows.Append(this);
 
-  // Necessary to make ResetWindowStyle() work
-  // and will be called eventually anyway 
-  Activate();
-
-  // Without this, a maximized child will still
-  // a double border around the child
-  ResetWindowStyle((void *)NULL); // Set the Client ExStyle right
-
   return TRUE;
 }
 
@@ -1011,6 +1003,8 @@ bool wxMDIChildFrame::HandleMDIActivate(long WXUNUSED(activate),
     wxActivateEvent event(wxEVT_ACTIVATE, activated, m_windowId);
     event.SetEventObject( this );
 
+    ResetWindowStyle((void *)NULL);
+
     return GetEventHandler()->ProcessEvent(event);
 }
 
@@ -1152,7 +1146,9 @@ bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style)
         ccs.hWindowMenu = (HMENU) parent->GetWindowMenu()->GetHMenu();
     ccs.idFirstChild = wxFIRST_MDI_CHILD;
 
-    DWORD msStyle = /* MDIS_ALLCHILDSTYLES | */ WS_VISIBLE | WS_CHILD | WS_CLIPCHILDREN;
+    DWORD msStyle = MDIS_ALLCHILDSTYLES | WS_VISIBLE | WS_CHILD |
+                    WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
+
     if ( style & wxHSCROLL )
         msStyle |= WS_HSCROLL;
     if ( style & wxVSCROLL )
@@ -1272,7 +1268,10 @@ static void MDISetMenu(wxWindow *win, HMENU hmenuFrame, HMENU hmenuWindow)
     wxWindow *parent = win->GetParent();
     wxCHECK_RET( parent, wxT("MDI client without parent frame? weird...") );
 
+#ifndef __WIN16__
     ::SendMessage(GetWinHwnd(win), WM_MDIREFRESHMENU, 0, 0L);
+#endif
+
     ::DrawMenuBar(GetWinHwnd(parent));
 }