From: Vadim Zeitlin Date: Tue, 27 Sep 2005 11:08:42 +0000 (+0000) Subject: (blind) fix for keyboard cues display under XP (bug 1298512) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/3ef092d63b3757744beb71a61a3b818e207632b3 (blind) fix for keyboard cues display under XP (bug 1298512) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/missing.h b/include/wx/msw/missing.h index cbedea9379..a27be621c6 100644 --- a/include/wx/msw/missing.h +++ b/include/wx/msw/missing.h @@ -39,7 +39,9 @@ #endif // Needed by toplevel.cpp -#ifndef UIS_INITIALIZE +#ifndef UIS_SET + #define UIS_SET 1 + #define UIS_CLEAR 2 #define UIS_INITIALIZE 3 #endif diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 8f549b94d6..c727eda2e3 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -488,7 +488,9 @@ protected: bool DoEraseBackground(WXHDC hDC); // generate WM_UPDATEUISTATE if it's needed for the OS we're running under - void MSWUpdateUIState(); + // + // the parameter should be one of UIS_XXX constants + void MSWUpdateUIState(int action); private: // common part of all ctors diff --git a/src/msw/toplevel.cpp b/src/msw/toplevel.cpp index 83212f896e..82f995b9f4 100644 --- a/src/msw/toplevel.cpp +++ b/src/msw/toplevel.cpp @@ -529,7 +529,7 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent, // focus rectangles) work under Win2k+ if ( ret ) { - MSWUpdateUIState(); + MSWUpdateUIState(UIS_INITIALIZE); } // Note: if we include PocketPC in this test, dialogs can fail to show up, diff --git a/src/msw/window.cpp b/src/msw/window.cpp index ee785b62e6..81bf8d2465 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -806,7 +806,7 @@ void wxWindowMSW::WarpPointer(int x, int y) } } -void wxWindowMSW::MSWUpdateUIState() +void wxWindowMSW::MSWUpdateUIState(int action) { // WM_UPDATEUISTATE only appeared in Windows 2000 so it can do us no good // to use it on older systems -- and could possibly do some harm @@ -824,8 +824,7 @@ void wxWindowMSW::MSWUpdateUIState() // include just one UISF_XXX or both, both are affected, no idea // why ::SendMessage(GetHwnd(), WM_UPDATEUISTATE, - MAKEWPARAM(UIS_INITIALIZE, - UISF_HIDEFOCUS | UISF_HIDEACCEL), 0); + MAKEWPARAM(action, UISF_HIDEFOCUS | UISF_HIDEACCEL), 0); } } @@ -2084,7 +2083,7 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg) // this by default, we need to manually send this message // so that controls could change their appearance // appropriately - MSWUpdateUIState(); + MSWUpdateUIState(UIS_CLEAR); return true; }