Windows (окна и сообщения)

В графическом приложении под управлением Windows окно представляет собой прямоугольную область экрана, в которой приложение отображает выходные данные и получает входные данные от пользователя. Поэтому одной из первых задач графического приложения на основе Windows является создание окна.

Окно предоставляет общий доступ к экрану с другими окнами, в том числе с другими приложениями. Только одно окно за раз может получать входные данные от пользователя. Пользователь может использовать мышь, клавиатуру или другое устройство ввода для взаимодействия с этим окном и приложением, принадлежащим ему.

В этом разделе

Имя Описание
Сведения о Windows Описывает элементы программирования, используемые приложениями для создания и использования окон; управление связями между окнами; и размер, перемещение и отображение окон.
Использование Windows Содержит примеры, которые выполняют задачи, связанные с использованием окон.
Характеристики окон Описывает функции таких окон, как типы окон, состояния, размер и позиция.
Справочник по окну Содержит ссылку на API.

 

Функции окон

Имя Описание
AdjustWindowRect Вычисляет требуемый размер прямоугольника окна на основе требуемого размера прямоугольника клиента. Затем прямоугольник окна можно передать в функцию CreateWindow , чтобы создать окно, клиентское пространство которого является требуемым размером.
AdjustWindowRectEx Вычисляет требуемый размер прямоугольника окна на основе требуемого размера прямоугольника клиента. Затем прямоугольник окна можно передать в функцию CreateWindowEx , чтобы создать окно, клиентской областью которого является требуемый размер.
AllowSetForegroundWindow Позволяет указанному процессу задать окно переднего плана с помощью функции SetForegroundWindow. Вызывающий процесс должен уже иметь возможность задать окно переднего плана. Дополнительные сведения см. в разделе "Примечания" далее в этом разделе.
АнимацияWindow Позволяет создавать специальные эффекты при отображении или скрытии окон. Существует четыре типа анимации: roll, слайд, свернуть или развернуть, а также альфа-смешивание.
AnyPopup Указывает, существует ли на экране всплывающее окно, видимое, всплывающее окно верхнего уровня или перекрывающееся окно. Функция выполняет поиск всего экрана, а не только клиентской области вызывающего приложения.
ArrangeIconicWindows Упорядочивает все свернутые (знаковые) дочерние окна указанного родительского окна.
BeginDeferWindowPos Выделяет память для структуры с несколькими окнами и возвращает дескриптор в структуру.
BringWindowToTop Возвращает указанное окно в начало порядка Z. Если окно является окном верхнего уровня, он активируется. Если окно является дочерним окном, активируется родительское окно верхнего уровня, связанное с дочерним окном.
CalculatePopupWindowPosition Вычисляет соответствующую позицию всплывающего окна, используя указанную точку привязки, размер всплывающего окна, флаги и необязательный прямоугольник исключения. Если указанный размер всплывающего окна меньше размера окна рабочего стола, используйте функцию CalculatePopupWindowPosition , чтобы убедиться, что всплывающее окно полностью отображается в окне рабочего стола независимо от указанной точки привязки.
CascadeWindows Каскадирует указанные дочерние окна указанного родительского окна.
ChangeWindowMessageFilter Добавляет или удаляет сообщение из фильтра изоляции привилегий пользовательского интерфейса (UIPI).
ChangeWindowMessageFilterEx Изменяет фильтр сообщений UIPI для указанного окна.
ChildWindowFromPoint Определяет, какие дочерние окна, принадлежащие родительскому окну, содержат указанную точку. Поиск ограничен непосредственными дочерними окнами. Внуки, и более глубокие окна потомков не ищутся.
ChildWindowFromPointEx Определяет, какие дочерние окна, принадлежащие указанному родительскому окну, содержат указанную точку. Функция может игнорировать невидимые, отключенные и прозрачные дочерние окна. Поиск ограничен непосредственными дочерними окнами. Внуки и более глубокие потомки не обыскиваются.
CloseWindow Сворачивать (но не уничтожать) указанное окно.
CreateWindow Создает перекрывающееся, всплывающее окно или дочернее окно. Он задает класс окна, заголовок окна, стиль окна и (необязательно) начальную позицию и размер окна. Функция также указывает родительский или владелец окна, если таковые есть, и меню окна.
CreateWindowEx Создает перекрывающееся, всплывающее окно или дочернее окно с расширенным стилем окна; в противном случае эта функция идентична функции CreateWindow . Дополнительные сведения о создании окна и полных описаниях других параметров CreateWindowEx см. в разделе CreateWindow.
DeferWindowPos Обновления указанную структуру с несколькими окнами — структуру позиции для указанного окна. Затем функция возвращает дескриптор обновленной структуре. Функция EndDeferWindowPos использует сведения в этой структуре для одновременного изменения положения и размера нескольких окон. Функция BeginDeferWindowPos создает структуру.
DeregisterShellHookWindow Отменяет регистрацию указанного окна оболочки, зарегистрированного для получения сообщений об перехватчике оболочки. Он отменяет регистрацию окон, зарегистрированных при вызове функции RegisterShellHookWindow .
Destroywindow Уничтожает указанное окно. Функция отправляет WM_DESTROY и WM_NCDESTROY сообщения в окно, чтобы отключить его и удалить фокус клавиатуры из него. Функция также уничтожает меню окна, очищает очередь сообщений потока, уничтожает таймеры, удаляет владение буфером обмена и прерывает цепочку просмотра буфера обмена (если окно находится в верхней части цепочки просмотра средств просмотра).
EndDeferWindowPos Одновременно обновляет положение и размер одного или нескольких окон в одном цикле обновления экрана.
EndTask Принудительно закрывает указанное окно.
EnumChildProc Определяемая приложением функция обратного вызова, используемая с функцией EnumChildWindows. Он получает дескриптор дочернего окна. Тип WNDENUMPROC определяет указатель на эту функцию обратного вызова. EnumChildProc — это заполнитель для имени определяемой приложением функции.
EnumChildWindows Перечисляет дочерние окна, принадлежащие указанному родительскому окну, передав дескриптор каждому дочернему окну, в свою очередь, в определяемую приложением функцию обратного вызова. Перечисление EnumChildWindows продолжается до перечисления последнего дочернего окна или функция обратного вызова возвращает ЗНАЧЕНИЕ FALSE.
EnumThreadWindows Перечисляет все нешилированные окна, связанные с потоком, передав дескриптор в каждое окно, в свою очередь, в определяемую приложением функцию обратного вызова. EnumThreadWindows продолжается до перечисления последнего окна или функция обратного вызова возвращает ЗНАЧЕНИЕ FALSE. Чтобы перечислить дочерние окна определенного окна, используйте функцию EnumChildWindows .
EnumThreadWndProc Определяемая приложением функция обратного вызова, используемая с функцией EnumThreadWindows. Он получает дескриптор окна, связанный с потоком. Тип WNDENUMPROC определяет указатель на эту функцию обратного вызова. EnumThreadWndProc — это заполнитель для имени определяемой приложением функции.
EnumWindows Перечисляет все окна верхнего уровня на экране, передав дескриптор каждому окну, в свою очередь, в функцию обратного вызова, определяемую приложением. EnumWindows продолжается до тех пор, пока не будет перечислено последнее окно верхнего уровня, или функция обратного вызова возвращает ЗНАЧЕНИЕ FALSE.
EnumWindowsProc Функция обратного вызова, определяемая приложением, используемая с функцией EnumWindows или EnumDesktopWindows. Он получает дескриптор окна верхнего уровня. Тип WNDENUMPROC определяет указатель на эту функцию обратного вызова. EnumWindowsProc — это заполнитель для имени определяемой приложением функции.
Findwindow Извлекает дескриптор в окно верхнего уровня, имя класса и имя окна которого соответствуют указанным строкам. Эта функция не выполняет поиск дочерних окон. Эта функция не выполняет поиск с учетом регистра.
FindWindowEx Извлекает дескриптор в окно, имя класса и имя окна которого соответствуют указанным строкам. Функция выполняет поиск дочерних окон, начиная с одного из указанных дочерних окон. Эта функция не выполняет поиск с учетом регистра.
GetAltTabInfo Извлекает сведения о состоянии для указанного окна, если это окно переключения приложений (ALT+TAB).
GetAncestor Извлекает дескриптор предка указанного окна.
GetClientRect Извлекает координаты клиентской области окна. Координаты клиента указывают верхние и нижние правые угла клиентской области. Так как координаты клиента относятся к левому верхнему углу клиентской области окна, координаты верхнего левого угла являются (0,0).
GetDesktopWindow Возвращает дескриптор в окно рабочего стола. Окно рабочего стола охватывает весь экран. Окно рабочего стола — это область, поверх которой окрашены другие окна.
GetForegroundWindow Возвращает дескриптор в окно переднего плана (окно, с которым работает пользователь). Система назначает немного более высокий приоритет потоку, который создает окно переднего плана, чем это делает для других потоков.
GetGUIThreadInfo Извлекает сведения о активном окне или указанном потоке графического интерфейса.
GetLastActivePopup Определяет, какое всплывающее окно, принадлежавшее указанному окну, было последнее активное.
GetLayeredWindowAttributes Получает ключ цвета прозрачности многослойного окна.
GetNextWindow Извлекает дескриптор к следующему или предыдущему окну в Z-Order. Следующее окно находится под указанным окном; Предыдущее окно выше. Если указанное окно является самым верхним окном, функция извлекает дескриптор к следующему (или предыдущему) верхнему окну. Если указанное окно является окном верхнего уровня, функция извлекает дескриптор следующего (или предыдущего) окна верхнего уровня. Если указанное окно является дочерним окном, функция выполняет поиск дескриптора к следующему (или предыдущему) дочернему окну.
GetParent Извлекает дескриптор для родительского или владельца указанного окна.
GetProcessDefaultLayout Извлекает макет по умолчанию, используемый при создании окон без родительского или владельца.
GetShellWindow Возвращает дескриптор в окне рабочего стола оболочки.
GetTitleBarInfo Извлекает сведения об указанной строке заголовка.
GetTopWindow Проверяет порядок Z дочерних окон, связанных с указанным родительским окном, и получает дескриптор дочернего окна в верхней части порядка Z.
GetWindow Извлекает дескриптор в окно с указанным отношением (Z-Order или owner) к указанному окну.
GetWindowDisplayAffinity Извлекает текущий параметр сопоставления отображения из любого процесса для заданного окна.
GetWindowInfo Извлекает сведения об указанном окне.
GetWindowModuleFileName Извлекает полный путь и имя файла модуля, связанного с указанным дескриптором окна.
GetWindowPlacement Извлекает состояние отображения и восстановленное, свернутое и развернутое положение указанного окна.
GetWindowRect Извлекает измерения ограничивающего прямоугольника указанного окна. Измерения задаются в координатах экрана, которые относятся к левому верхнему углу экрана.
GetWindowText Копирует текст строки заголовка указанного окна (если он имеется) в буфер. Если указанное окно является элементом управления, копируется текст элемента управления. Однако GetWindowText не может получить текст элемента управления в другом приложении.
GetWindowTextLength Извлекает длину в символах текста заголовка указанного окна (если в окне есть строка заголовка). Если указанное окно является элементом управления, функция извлекает длину текста в элементе управления. Однако GetWindowTextLength не может получить длину текста элемента управления редактирования в другом приложении.
GetWindowThreadProcessId Извлекает идентификатор потока, создавшего указанное окно, и, при необходимости, идентификатор процесса, создавшего окно.
IsChild Определяет, является ли окно дочерним или потомком указанного родительского окна. Дочернее окно является прямым потомком указанного родительского окна, если это родительское окно находится в цепочке родительских окон; Цепочка родительских окон ведет от исходного перекрывающегося или всплывающего окна к дочернему окну.
IsGUIThread Определяет, является ли вызывающий поток уже потоком графического интерфейса. Он также может при необходимости преобразовать поток в поток графического интерфейса.
IsHungAppWindow Определяет, считает ли Windows, что указанное приложение не отвечает. Приложение считается не отвечает, если оно не ожидает входных данных, не выполняется при запуске обработки и не вызывает peekMessage в течение внутреннего периода ожидания в течение 5 секунд.
IsIconic Определяет, свернуто ли указанное окно (знаковое).
IsProcessDPIAware Возвращает значение, указывающее, является ли текущий процесс точками на дюйм (dpi), таким образом, что он настраивает размеры элементов пользовательского интерфейса, чтобы компенсировать параметр dpi.
IsWindow Определяет, идентифицирует ли указанный дескриптор окна.
IsWindowUnicode Определяет, является ли указанное окно собственным окном Юникода.
IsWindowVisible Извлекает состояние видимости указанного окна.
IsZoomed Определяет, развернуто ли окно.
LockSetForegroundWindow Процесс переднего плана может вызвать функцию LockSetForegroundWindow, чтобы отключить вызовы функции SetForegroundWindow.
LogicalToPhysicalPoint Преобразует логические координаты точки в окне в физические координаты.
MoveWindow Изменяет положение и размеры указанного окна. Для окна верхнего уровня положение и измерения относительно левого верхнего угла экрана. Для дочернего окна они относятся к левому верхнему углу клиентской области родительского окна.
OpenIcon Восстанавливает свернутое (знаковое) окно до предыдущего размера и положения; затем активирует окно.
PhysicalToLogicalPoint Преобразует физические координаты точки в окне в логические координаты.
RealChildWindowFromPoint Извлекает дескриптор дочернего окна в указанной точке. Поиск ограничен непосредственными дочерними окнами; Внуки и более глубокие окна потомков не ищутся.
RealGetWindowClass Извлекает строку, указывающую тип окна.
RegisterShellHookWindow Регистрирует указанное окно оболочки для получения определенных сообщений для событий или уведомлений, которые полезны для приложений Оболочки. Полученные сообщения о событии — это только те, которые отправляются в окно оболочки, связанное с рабочим столом указанного окна. Многие сообщения совпадают с теми, которые можно получить после вызова функции SetWindowsHookEx и указания WH_SHELL для типа перехватчика. Разница с RegisterShellHookWindow заключается в том, что сообщения получаются с помощью указанного окна WindowProc, а не через процедуру обратного вызова.
SetForegroundWindow Помещает поток, создавший указанное окно на переднем плане, и активирует окно. Ввод клавиатуры направляется в окно, а различные визуальные подсказки изменяются для пользователя. Система назначает немного более высокий приоритет потоку, создавшего окно переднего плана, чем для других потоков.
SetLayeredWindowAttributes Задает ключ цвета прозрачности многослойного окна.
Setparent Изменяет родительское окно указанного дочернего окна.
SetProcessDefaultLayout Изменяет макет по умолчанию при создании окон без родительского или владельца только для текущего выполняемого процесса.
SetProcessDPIAware Задает текущий процесс в качестве параметров dpi.
SetWindowDisplayAffinity Сохраняет параметр сопоставления отображения в режиме ядра в hWnd, связанном с окном.
SetWindowPlacement Задает состояние отображения и восстановленное, свернутое и развернутое положение указанного окна.
SetWindowPos Изменяет размер, позицию и порядок Z дочернего, всплывающего окна или окна верхнего уровня. Эти окна упорядочены в соответствии с их внешним видом на экране. Самое верхнее окно получает самый высокий рейтинг и является первым окном в порядке Z.
SetWindowText Изменяет текст строки заголовка указанного окна (если он имеется). Если указанное окно является элементом управления, текст элемента управления изменяется. Однако SetWindowText не может изменить текст элемента управления в другом приложении.
ShowOwnedPopups Отображает или скрывает все всплывающие окна, принадлежащие указанному окну.
Showwindow Задает состояние отображения указанного окна.
ShowWindowAsync Задает состояние отображения окна, созданного другим потоком.
SoundSentry Активирует визуальный сигнал, указывающий, что звук воспроизводится.
SwitchToThisWindow Переключает фокус на указанное окно и переносит его на передний план.
TileWindows Плитки указанных дочерних окон указанного родительского окна.
UpdateLayeredWindow Обновляет положение, размер, форму, содержимое и прозрачность многослойного окна.
UpdateLayeredWindowIndirect Обновляет положение, размер, форму, содержимое и прозрачность многослойного окна.
WindowFromPhysicalPoint Извлекает дескриптор в окно, содержащее указанную физическую точку.
WindowFromPoint Извлекает дескриптор в окно, содержащее указанную точку.
Winmain WinMain — это обычное имя для точки входа, предоставленной пользователем, для приложения на основе Windows.

 

Макросы окна

Имя Описание
GET_X_LPARAM Извлекает подписанный x-координаты из заданного значения LPARAM .
GET_Y_LPARAM Извлекает подписанный y-координату из заданного значения LPARAM .
HIBYTE Извлекает байт высокого порядка из заданного 16-разрядного значения.
HIWORD Извлекает слово высокого порядка из заданного 32-разрядного значения.
LOBYTE Извлекает байт низкого порядка из указанного значения.
LOWORD Извлекает слово с низким порядком из указанного значения.
MAKELONG Создает значение LONG путем объединения указанных значений.
MAKELPARAM Создает значение для использования в качестве параметра lParam в сообщении. Макрос объединяет указанные значения.
MAKELRESULT Создает значение для использования в качестве возвращаемого значения из процедуры окна. Макрос объединяет указанные значения.
MAKEWORD Создает значение WORD путем объединения указанных значений.
MAKEWPARAM Создает значение для использования в качестве параметра wParam в сообщении. Макрос объединяет указанные значения.

 

Сообщения окна

Имя Описание
MN_GETHMENU Возвращает HMENU для текущего окна.
WM_GETFONT Извлекает шрифт, с помощью которого элемент управления в настоящее время рисует свой текст.
WM_GETTEXT Копирует текст, соответствующий окну, в буфер, предоставленный вызывающим объектом.
WM_GETTEXTLENGTH Определите длину текста, связанного с окном, в символах.
WM_SETFONT Указывает шрифт, используемый элементом управления при рисовании текста.
WM_SETICON Связывает новый большой или маленький значок с окном. Система отображает большой значок в диалоговом окне ALT+TAB и маленький значок в окне подпись.
WM_SETTEXT Задает текст окна.

 

Уведомления о окне

Имя Описание
WM_ACTIVATEAPP Отправляется при активации окна, относящегося к другому приложению, отличному от активного окна. Сообщение отправляется приложению, окно которого активируется и в приложение, окно которого деактивируется.
Окно получает это сообщение через функцию WindowProc .
WM_CANCELMODE Отправлено для отмены определенных режимов, таких как запись мыши. Например, система отправляет это сообщение в активное окно при отображении диалогового окна или поля сообщения. Некоторые функции также отправляют это сообщение явно в указанное окно независимо от того, является ли оно активным окном. Например, функция EnableWindow отправляет это сообщение при отключении указанного окна.
WM_CHILDACTIVATE Отправляется в дочернее окно, когда пользователь щелкает заголовок окна или когда окно активируется, перемещается или размер.
WM_CLOSE Отправлен как сигнал о том, что окно или приложение должно завершиться.
WM_COMPACTING Отправляется во все окна верхнего уровня, когда система обнаруживает более 12,5 процента системного времени в течение 30-60-секундного интервала тратится на сжатие памяти. Это означает, что системная память низка.
WM_CREATE Отправляется, когда приложение запрашивает создание окна путем вызова функции CreateWindowEx или CreateWindow. (Сообщение отправляется до возврата функции.) Процедура окна нового окна получает это сообщение после создания окна, но до того, как окно станет видимым.
WM_DESTROY Отправляется при уничтожении окна. Он отправляется в процедуру окна уничтоженного окна после удаления окна с экрана.
Это сообщение сначала отправляется в окно, которое уничтожается, а затем в дочерние окна (если таковые имеются) по мере их уничтожения. Во время обработки сообщения можно предположить, что все дочерние окна по-прежнему существуют.
WM_ENABLE Отправляется, когда приложение изменяет состояние включенного окна. Он отправляется в окно, состояние которого изменяется. Это сообщение отправляется до возврата функции EnableWindow, но после изменения состояния включено (WS_DISABLED бит стиля) окна.
WM_ENTERSIZEMOVE Отправляется один раз в окно после ввода движущегося или модального цикла изменения размера. Окно вводит движущийся или модальный цикл изменения размера, когда пользователь щелкает заголовок окна или границу размера или когда окно передает сообщение WM_SYSCOMMAND функции DefWindowProc и параметр wParam сообщения указывает значение SC_MOVE или SC_SIZE. Операция завершается при возврате DefWindowProc .
Система отправляет сообщение WM_ENTERSIZEMOVE независимо от того, включена ли перетаскивание полных окон.
WM_ERASEBKGND Отправляется при удалении фона окна (например, при изменении размера окна). Сообщение отправляется для подготовки недействительной части окна для рисования.
WM_EXITSIZEMOVE Отправлен один раз в окно после выхода из движущегося или модального цикла изменения размера. Окно вводит движущийся или модальный цикл изменения размера, когда пользователь щелкает заголовок окна или границу размера или когда окно передает сообщение WM_SYSCOMMAND функции DefWindowProc и параметр wParam сообщения указывает значение SC_MOVE или SC_SIZE. Операция завершается при возврате DefWindowProc .
WM_GETICON Отправляется в окно, чтобы получить дескриптор на большой или небольшой значок, связанный с окном. Система отображает большой значок в диалоговом окне ALT+TAB и маленький значок в окне подпись.
WM_GETMINMAXINFO Отправляется в окно при изменении размера или положения окна. Приложение может использовать это сообщение для переопределения максимального размера и положения окна по умолчанию или минимального или максимального размера отслеживания по умолчанию.
WM_INPUTLANGCHANGE Отправлено в самое главное затронутое окно после изменения языка ввода приложения. Вы должны сделать все параметры, относящиеся к приложению, и передать сообщение функции DefWindowProc, которая передает сообщение всем дочерним окнам первого уровня. Эти дочерние окна могут передать сообщение в DefWindowProc , чтобы передать сообщение в дочерние окна и т. д.
WM_INPUTLANGCHANGEREQUEST Размещено в окне с фокусом, когда пользователь выбирает новый язык ввода, либо с горячим ключом (указанным в приложении панели управления клавиатуры) или индикатором на системной панели задач. Приложение может принять изменение, передав сообщение в функцию DefWindowProc или отклонить изменение (и предотвратить его выполнение) немедленно.
WM_MOVE Отправлено после перемещения окна.
WM_MOVING Отправлено в окно, которое перемещается пользователь. Обрабатывая это сообщение, приложение может отслеживать положение прямоугольника перетаскивания и при необходимости изменять его положение.
WM_NCACTIVATE Отправляется в окно, когда его неклиентная область должна быть изменена, чтобы указать активное или неактивное состояние.
WM_NCCALCSIZE Отправляется при вычислении размера и положения клиентской области окна. Обрабатывая это сообщение, приложение может управлять содержимым клиентской области окна при изменении размера или положения окна.
WM_NCCREATE Отправлено до сообщения WM_CREATE при создании окна.
WM_NCDESTROY Сообщает окну, что его неклиентная область уничтожается. Функция DestroyWindow отправляет сообщение WM_NCDESTROY в окно после сообщения WM_DESTROY. WM_DESTROY используется для освобождения выделенного объекта памяти, связанного с окном.
Сообщение WM_NCDESTROY отправляется после уничтожения дочерних окон. В отличие от этого, WM_DESTROY отправляются до уничтожения дочерних окон.
WM_NULL Не выполняет никаких операций. Приложение отправляет сообщение WM_NULL , если оно хочет опубликовать сообщение, которое окно получателя будет игнорировать.
WM_PARENTNOTIFY Отправляется в родительский элемент дочернего окна при создании или уничтожении дочернего окна, а также при нажатии кнопки мыши при переходе курсора на дочернее окно. При создании дочернего окна система отправляет WM_PARENTNOTIFY непосредственно перед функцией CreateWindow или CreateWindowEx, которая создает окно. При уничтожении дочернего окна система отправляет сообщение перед любой обработкой, чтобы уничтожить окно.
WM_QUERYDRAGICON Отправлено в свернутое (знаковое) окно. Окно будет перетаскиваться пользователем, но не имеет значка, определенного для его класса. Приложение может вернуть дескриптор значку или курсору. Система отображает этот курсор или значок, пока пользователь перетаскивает значок.
WM_QUERYOPEN Отправляется на значок, когда пользователь запрашивает восстановление окна до предыдущего размера и положения.
WM_QUIT Указывает запрос на завершение приложения и создается при вызове приложения функции PostQuitMessage . Это приводит к возврату нуля функции GetMessage .
WM_SHOWWINDOW Отправляется в окно, когда окно будет скрыто или показано.
WM_SIZE Отправлено в окно после изменения его размера.
WM_SIZING Отправлено в окно, в которое пользователь изменяет размер. Обрабатывая это сообщение, приложение может отслеживать размер и положение прямоугольника перетаскивания и при необходимости изменять его размер или положение.
WM_STYLECHANGED Отступ к окну после изменения функции SetWindowLong одного или нескольких стилей окна.
WM_STYLECHANGING Отправляется в окно, когда функция SetWindowLong намерена изменить один или несколько стилей окна.
WM_THEMECHANGED Трансляция в каждое окно после события изменения темы. Примерами событий изменения темы являются активация темы, деактивация темы или переход с одной темы на другую.
WM_USERCHANGED Отправляется во все окна после того, как пользователь вошел в систему или выключил его. Когда пользователь входит в систему или выключается, система обновляет параметры, относящиеся к пользователю. Система отправляет это сообщение сразу после обновления параметров.
WM_WINDOWPOSCHANGED Отправлено в окно, размер которого, положение или место в порядке Z изменилось в результате вызова функции SetWindowPos или другой функции управления окнами.
WM_WINDOWPOSCHANGING Отправлено в окно, размер которого, положение или место в порядке Z будет изменено в результате вызова функции SetWindowPos или другой функции управления окнами.

 

Структуры окон

Имя Описание
ALTTABINFO Содержит сведения о состоянии окна переключения приложений (ALT+TAB).
CHANGEFILTERSTRUCT Содержит расширенные сведения о результатах, полученные путем вызова функции ChangeWindowMessageFilterEx.
CLIENTCREATESTRUCT Содержит сведения о меню и первом дочернем окне интерфейса многодокументного интерфейса (MDI) клиентского окна MDI. Приложение передает указатель на эту структуру в качестве параметра lpParam функции CreateWindow при создании клиентского окна MDI.
CREATESTRUCT Определяет параметры инициализации, передаваемые в процедуру окна приложения. Эти члены идентичны параметрам функции CreateWindowEx.
GUITHREADINFO Содержит сведения о потоке ГРАФИЧЕСКОго интерфейса.
MINMAXINFO Содержит сведения о максимальном размере и положении окна и его минимальном и максимальном размере отслеживания.
NCCALCSIZE_PARAMS Содержит сведения, которые приложение может использовать при обработке сообщения WM_NCCALCSIZE для вычисления размера, положения и допустимого содержимого клиентской области окна.
STYLESTRUCT Содержит стили для окна.
TITLEBARINFO Содержит сведения о строке заголовка.
TITLEBARINFOEX Расширяет сведения, описанные в структуре TITLEBARINFO , включая координаты каждого элемента заголовка.
UPDATELAYEREDWINDOWINFO Используется UpdateLayeredWindowIndirect для предоставления позиции, размера, фигуры, содержимого и информации о транслюкционности для многоуровневого окна.
WINDOWINFO Содержит сведения о окне.
WINDOWPLACEMENT Содержит сведения о размещении окна на экране.
WINDOWPOS Содержит сведения о размере и расположении окна.

 

Константы окна

Имя Описание
Расширенные стили окна Стили, которые можно указать, где требуется расширенный стиль окна.
Стили окна Стили, которые можно указать везде, где требуется стиль окна. После создания элемента управления эти стили нельзя изменить, за исключением отмеченных.