properly handle WM_UPDATEUISTATE

svn path=/trunk/; revision=16409
This commit is contained in:
Thomas Bluemel 2005-07-04 13:37:02 +00:00
parent 8e3b9a7f21
commit a11dac9b2a

View file

@ -1865,29 +1865,19 @@ CheckListWndProc(IN HWND hwnd,
case WM_UPDATEUISTATE: case WM_UPDATEUISTATE:
{ {
BOOL OldFocusVisible = infoPtr->FocusVisible; if (HIWORD(wParam) & UISF_HIDEFOCUS)
switch(LOWORD(wParam))
{ {
case UIS_CLEAR: BOOL OldFocusVisible = infoPtr->FocusVisible;
infoPtr->FocusVisible = (LOWORD(wParam) == UIS_CLEAR);
if (infoPtr->FocusVisible != OldFocusVisible &&
infoPtr->FocusedCheckItem != NULL)
{ {
infoPtr->FocusVisible = (HIWORD(wParam) & UISF_HIDEFOCUS); UpdateCheckItemBox(infoPtr,
break; infoPtr->FocusedCheckItem,
infoPtr->FocusedCheckItemBox);
} }
case UIS_SET:
case UIS_INITIALIZE:
{
infoPtr->FocusVisible = !(HIWORD(wParam) & UISF_HIDEFOCUS);
break;
}
}
if (infoPtr->FocusVisible != OldFocusVisible &&
infoPtr->FocusedCheckItem != NULL)
{
UpdateCheckItemBox(infoPtr,
infoPtr->FocusedCheckItem,
infoPtr->FocusedCheckItemBox);
} }
break; break;
} }