]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
fixed wxEVT_CONTEXT_MENU generation (it works differently under w2k/XP than under...
[wxWidgets.git] / src / msw / toplevel.cpp
index 760362ee3d835ff4521ce15befdda9dc575175e7..47bc5ff54a1bcf528ed52689350a1c64327f96ee 100644 (file)
@@ -41,6 +41,7 @@
 #include "wx/module.h"
 
 #include "wx/msw/private.h"
+#include "wx/msw/missing.h"
 
 #if defined(__WXWINCE__)
   #include <ole2.h>
@@ -134,24 +135,6 @@ END_EVENT_TABLE()
 // wxTopLevelWindowMSW creation
 // ----------------------------------------------------------------------------
 
-wxTopLevelWindowMSW::wxTopLevelWindowMSW()
-{
-    Init();
-}
-
-wxTopLevelWindowMSW::wxTopLevelWindowMSW(wxWindow *parent,
-                                         wxWindowID id,
-                                         const wxString& title,
-                                         const wxPoint& pos,
-                                         const wxSize& size,
-                                         long style,
-                                         const wxString& name)
-{
-    Init();
-
-    (void)Create(parent, id, title, pos, size, style, name);
-}
-
 void wxTopLevelWindowMSW::Init()
 {
     m_iconized =
@@ -532,6 +515,23 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
         EnableCloseButton(false);
     }
 
+    // for some reason we need to manually send ourselves this message as
+    // otherwise the mnemonics are always shown -- even if they're configured
+    // to be hidden until "Alt" is pressed in the control panel
+    //
+    // this could indicate a bug somewhere else but for now this is the only
+    // fix we have
+    if ( ret )
+    {
+        SendMessage
+        (
+            GetHwnd(),
+            WM_UPDATEUISTATE,
+            MAKEWPARAM(UIS_INITIALIZE, UISF_HIDEFOCUS | UISF_HIDEACCEL),
+            0
+        );
+    }
+
     return ret;
 }