WM_CHANGEUISTATE message

An application sends the WM_CHANGEUISTATE message to indicate that the UI state should be changed.

#define WM_CHANGEUISTATE                0x0127

Parameters

wParam

The low-order word specifies the action to be taken. This member can be one of the following values.

Value Meaning
UIS_CLEAR
2
The UI state flags specified by the high-order word should be cleared.
UIS_INITIALIZE
3
The UI state flags specified by the high-order word should be changed based on the last input event. For more information, see Remarks.
UIS_SET
1
The UI state flags specified by the high-order word should be set.

The high-order word specifies which UI state elements are affected or the style of the control. This member can be one or more of the following values.

Value Meaning
UISF_ACTIVE
0x4
A control should be drawn in the style used for active controls.
UISF_HIDEACCEL
0x2
Keyboard accelerators are hidden.
UISF_HIDEFOCUS
0x1
Focus indicators are hidden.

lParam

This parameter is not used and must be 0.

Remarks

A window should send this message to itself or its parent when it must change the UI state elements of all windows in the same hierarchy. The window procedure must let DefWindowProc process this message so that the entire window tree has a consistent UI state. When the top-level window receives the WM_CHANGEUISTATE message, it sends a WM_UPDATEUISTATE message with the same parameters to all child windows. When the system processes the WM_UPDATEUISTATE message, it makes the change in the UI state.

If the low-order word of wParam is UIS_INITIALIZE, the system will send the WM_UPDATEUISTATE message with a UI state based on the last input event. For example, if the last input came from the mouse, the system will hide the keyboard cues. And, if the last input came from the keyboard, the system will show the keyboard cues. If the state that results from processing WM_CHANGEUISTATE is the same as the old state, DefWindowProc does not send this message.

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
Winuser.h (include Windows.h)

See also

Reference

HIWORD

LOWORD

WM_QUERYUISTATE

Conceptual

Keyboard Accelerators