]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
fixed bug due to missing break in GetColourFromGTKWidget() (part of patch 1160117)
[wxWidgets.git] / src / msw / toplevel.cpp
index f5ae3f72e864bd285939af67a62433d317e6ed22..09e60871b188c478e10252f4b87d6a0107570da1 100644 (file)
@@ -148,6 +148,10 @@ void wxTopLevelWindowMSW::Init()
 #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
     m_MenuBarHWND = 0;
 #endif
 #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
     m_MenuBarHWND = 0;
 #endif
+#ifdef __POCKETPC__
+    // A dummy menubar for dialogs
+    m_menuBarHWND = 0;
+#endif
 }
 
 WXDWORD wxTopLevelWindowMSW::MSWGetStyle(long style, WXDWORD *exflags) const
 }
 
 WXDWORD wxTopLevelWindowMSW::MSWGetStyle(long style, WXDWORD *exflags) const
@@ -415,6 +419,27 @@ bool wxTopLevelWindowMSW::CreateDialog(const void *dlgTemplate,
         ::SetWindowText(GetHwnd(), title);
     }
 
         ::SetWindowText(GetHwnd(), title);
     }
 
+#ifdef __POCKETPC__
+    // Create an empty menubar so that we don't see the menubar underneath
+    SHMENUBARINFO mbi;
+
+    memset (&mbi, 0, sizeof (SHMENUBARINFO));
+    mbi.cbSize     = sizeof (SHMENUBARINFO);
+    mbi.hwndParent = (HWND) GetParent()->GetHWND();
+    mbi.nToolBarId = 5000;
+    mbi.nBmpId     = 0;
+    mbi.cBmpImages = 0;
+    mbi.dwFlags = 0 ; // SHCMBF_EMPTYBAR;
+    mbi.hInstRes = wxGetInstance();
+
+    if (!SHCreateMenuBar(&mbi))
+    {
+        wxFAIL_MSG( _T("SHCreateMenuBar failed") );
+    }
+
+    m_menuBarHWND = (WXHWND) mbi.hwndMB;
+#endif
+
     SubclassWin(m_hWnd);
     
 #ifdef __SMARTPHONE__
     SubclassWin(m_hWnd);
     
 #ifdef __SMARTPHONE__
@@ -563,6 +588,15 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
 
 wxTopLevelWindowMSW::~wxTopLevelWindowMSW()
 {
 
 wxTopLevelWindowMSW::~wxTopLevelWindowMSW()
 {
+#ifdef __POCKETPC__
+    // Destroy the dummy menubar for dialogs
+    if (m_menuBarHWND)
+    {
+        ::DestroyWindow((HWND) m_menuBarHWND);
+        m_menuBarHWND = 0;
+    }
+#endif
+
     // after destroying an owned window, Windows activates the next top level
     // window in Z order but it may be different from our owner (to reproduce
     // this simply Alt-TAB to another application and back before closing the
     // after destroying an owned window, Windows activates the next top level
     // window in Z order but it may be different from our owner (to reproduce
     // this simply Alt-TAB to another application and back before closing the