]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
Fix by George Wismer to get flat toolbars under Windows Classic style,
[wxWidgets.git] / src / msw / toplevel.cpp
index 3a0662db252bccdd969639bbe5d7dc8f72cfd4ab..3cf38606e30c27129d69df4d0c1fbbf5673698bc 100644 (file)
@@ -42,7 +42,7 @@
 #include "wx/module.h"
 
 #include "wx/msw/private.h"
-#if defined(__WXWINCE__)
+#if defined(__WXWINCE__) && !defined(__HANDHELDPC__)
   #include <ole2.h>
   #include <shellapi.h>
   // Standard SDK doesn't have aygshell.dll: see include/wx/msw/wince/libraries.h
@@ -143,6 +143,10 @@ void wxTopLevelWindowMSW::Init()
     m_fsIsShowing = FALSE;
 
     m_winLastFocused = (wxWindow *)NULL;
+
+#ifdef __SMARTPHONE__
+    m_MenuBarHWND = 0;
+#endif
 }
 
 WXDWORD wxTopLevelWindowMSW::MSWGetStyle(long style, WXDWORD *exflags) const
@@ -413,13 +417,14 @@ bool wxTopLevelWindowMSW::CreateFrame(const wxString& title,
     WXDWORD exflags;
     WXDWORD flags = MSWGetCreateWindowFlags(&exflags);
 
-#if (defined(_WIN32_WCE) && _WIN32_WCE < 400) || \
+#if !defined(__HANDHELDPC__) && ((defined(_WIN32_WCE) && _WIN32_WCE < 400) || \
     defined(__POCKETPC__) || \
-    defined(__SMARTPHONE__)
-       // Always expand to fit the screen in PocketPC or SmartPhone
-       wxSize sz(wxDefaultSize);
+    defined(__SMARTPHONE__))
+    // Always expand to fit the screen in PocketPC or SmartPhone
+    wxSize sz(wxDefaultSize);
+    wxUnusedVar(size);
 #else // other (including normal desktop) Windows
-       wxSize sz(size);
+    wxSize sz(size);
 #endif
 
     return MSWCreate(wxCanvasClassName, title, pos, sz, flags, exflags);
@@ -515,12 +520,16 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
         );
     }
 
-       // Native look is full screen window on Smartphones and Standard SDK
+    // Native look is full screen window on Smartphones and Standard SDK
 #if defined(__WXWINCE__)
     if ( style & wxMAXIMIZE )
-       {
-           this->Maximize();
-       }
+    {
+        this->Maximize();
+    }
+#endif
+
+#ifdef __SMARTPHONE__
+    SetRightMenu(); // to nothing for initialization
 #endif
 
     return ret;
@@ -567,9 +576,9 @@ bool wxTopLevelWindowMSW::Show(bool show)
             // show and maximize
             nShowCmd = SW_MAXIMIZE;
 
-                       // This is necessary, or no window appears
+            // This is necessary, or no window appears
 #ifdef __WINCE_STANDARDSDK__
-                       DoShowWindow(SW_SHOW);
+            DoShowWindow(SW_SHOW);
 #endif
 
             m_maximizeOnShow = FALSE;
@@ -758,7 +767,7 @@ bool wxTopLevelWindowMSW::ShowFullScreen(bool show, long style)
                      rect.x, rect.y, rect.width, rect.height,
                      flags);
 
-#if defined(__WXWINCE__) && _WIN32_WCE < 400
+#if !defined(__HANDHELDPC__) && (defined(__WXWINCE__) && (_WIN32_WCE < 400))
         ::SHFullScreen(GetHwnd(), SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);
 #endif
 
@@ -768,7 +777,7 @@ bool wxTopLevelWindowMSW::ShowFullScreen(bool show, long style)
     }
     else // stop showing full screen
     {
-#if defined(__WXWINCE__) && _WIN32_WCE < 400
+#if !defined(__HANDHELDPC__) && (defined(__WXWINCE__) && (_WIN32_WCE < 400))
         ::SHFullScreen(GetHwnd(), SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON);
 #endif
         Maximize(m_fsIsMaximized);
@@ -964,11 +973,14 @@ wxDlgProc(HWND hDlg,
 
         // Standard SDK doesn't have aygshell.dll: see
         // include/wx/msw/wince/libraries.h
-#if defined(__WXWINCE__) && !defined(__WINCE_STANDARDSDK__)
+#if defined(__WXWINCE__) && !defined(__WINCE_STANDARDSDK__) && !defined(__HANDHELDPC__)
         SHINITDLGINFO shidi;
         shidi.dwMask = SHIDIM_FLAGS;
-        shidi.dwFlags = SHIDIF_DONEBUTTON |
-                        SHIDIF_SIZEDLGFULLSCREEN;
+        shidi.dwFlags = SHIDIF_SIZEDLGFULLSCREEN
+#ifndef __SMARTPHONE__
+                        | SHIDIF_DONEBUTTON
+#endif
+                        ;
         shidi.hDlg = hDlg;
         SHInitDialog( &shidi );
 #else // no SHInitDialog()