(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
This commit is contained in:
@@ -39,7 +39,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Needed by toplevel.cpp
|
// Needed by toplevel.cpp
|
||||||
#ifndef UIS_INITIALIZE
|
#ifndef UIS_SET
|
||||||
|
#define UIS_SET 1
|
||||||
|
#define UIS_CLEAR 2
|
||||||
#define UIS_INITIALIZE 3
|
#define UIS_INITIALIZE 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -488,7 +488,9 @@ protected:
|
|||||||
bool DoEraseBackground(WXHDC hDC);
|
bool DoEraseBackground(WXHDC hDC);
|
||||||
|
|
||||||
// generate WM_UPDATEUISTATE if it's needed for the OS we're running under
|
// 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:
|
private:
|
||||||
// common part of all ctors
|
// common part of all ctors
|
||||||
|
@@ -529,7 +529,7 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
|
|||||||
// focus rectangles) work under Win2k+
|
// focus rectangles) work under Win2k+
|
||||||
if ( ret )
|
if ( ret )
|
||||||
{
|
{
|
||||||
MSWUpdateUIState();
|
MSWUpdateUIState(UIS_INITIALIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note: if we include PocketPC in this test, dialogs can fail to show up,
|
// Note: if we include PocketPC in this test, dialogs can fail to show up,
|
||||||
|
@@ -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
|
// 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
|
// 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
|
// include just one UISF_XXX or both, both are affected, no idea
|
||||||
// why
|
// why
|
||||||
::SendMessage(GetHwnd(), WM_UPDATEUISTATE,
|
::SendMessage(GetHwnd(), WM_UPDATEUISTATE,
|
||||||
MAKEWPARAM(UIS_INITIALIZE,
|
MAKEWPARAM(action, UISF_HIDEFOCUS | UISF_HIDEACCEL), 0);
|
||||||
UISF_HIDEFOCUS | UISF_HIDEACCEL), 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2084,7 +2083,7 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg)
|
|||||||
// this by default, we need to manually send this message
|
// this by default, we need to manually send this message
|
||||||
// so that controls could change their appearance
|
// so that controls could change their appearance
|
||||||
// appropriately
|
// appropriately
|
||||||
MSWUpdateUIState();
|
MSWUpdateUIState(UIS_CLEAR);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user