Приложение отправляет на обработку сообщение WM_CHANGEUISTATE, чтобы указать, что состояние интерфейса пользователя (UI) должно измениться.
lResult = SendMessage( (HWND) hWndControl, // дескриптор целевого органа управления (UINT) WM_CHANGEUISTATE, // ID сообщения (WPARAM) wParam, // = (WPARAM) () wParam; (LPARAM) lParam // = (LPARAM) () lParam; );
wParam
Младшее слово устанавливает действие, которое будет предпринято. Этот элемент может быть одним из ниже перечисленных значений.
Значение |
Предназначение |
UIS_CLEAR | Элемент, хранящий состояние UI, заданный старшим словом, должен быть скрыт. |
UIS_INITIALIZE | Элемент, хранящий состояние UI, заданный старшим словом должен измениться, основываясь на последнем событии ввода данных. Дополнительную информацию, см. в разделе Замечания. |
UIS_SET | Элемент, хранящий состояние UI, заданный старшим словом должен быть видим. |
Старшее слово определяет, какой элемент, хранящий состояние UI, воздействует или стиль органа управления. Он может состоять из одного или нескольких ниже перечисленных значений.
Значение |
Предназначение |
UISF_HIDEACCEL | Ускорители клавиатуры. |
UISF_HIDEFOCUS | Индикаторы фокуса. |
UISF_ACTIVE | Windows XP: Орган управления должен рисоваться в стиле, используемом для активных органов управления. |
lParam
Этот параметр не используется и должен быть ПУСТО (NULL).
Возвращаемых значений нет.
Окно должно отправлять на обработку это сообщение себе или своему родителю тогда, когда оно должно изменить элементы, хранящие состояние UI всех окон одной и той же иерархии. Оконная процедура должна позволять DefWindowProc обрабатывать это сообщение так, чтобы все дерево окна имело совместимое состояние UI. Когда окно верхнего уровня получает сообщение WM_CHANGEUISTATE, оно отправляет на обработку сообщение WM_UPDATEUISTATE с одними и теми же параметрами всем дочерним окнам. Когда система обрабатывает сообщение WM_UPDATEUISTATE, она делает изменение в состоянии UI.
Если младшее слово wParam - UIS_INITIALIZE, система отправит на обработку сообщение WM_UPDATEUISTATE с состоянием UI, основанным на последнем событии ввода данных. Например, если последний ввод данных поступил от мыши, система скроет команды вызова программы клавиатуры. И наоборот, если последний ввод данных поступил от клавиатуры, система покажет команды вызова программы клавиатуры. Если состояние, которое следует из обработки WM_CHANGEUISTATE, является одним и тем же, значит это старое состояние, а DefWindowProc не отправляла на обработку это сообщение.
Обзор Ускорители клавиатуры, Сообщения, используемые ускорителями клавиатуры, DefWindowProc, HIWORD, LOWORD, WM_QUERYUISTATE, WM_UPDATEUISTATE
Размещение и совместимость WM_CHANGEUISTATE | ||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Нет |
е | Windows Me | Нет |
н | Windows 98 | Нет |
т | Windows 95 | Нет |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Winuser.h | |
- включено в | Windows.h | |
Unicode | Нет | |
Замечания по платформе | Не имеется |