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

В этом разделе описываются типы оконных классов, их расположение в системе и элементы, определяющие поведение окон по умолчанию, которые к ним относятся.

Класс окна — это набор атрибутов, которые система использует в качестве шаблона для создания окна. Каждое окно является членом класса окна. Все классы окон зависят от процесса.

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

Имя Описание
Сведения о классах окон Описывает классы окон. Каждый класс окна имеет связанную процедуру окна, которая совместно используется всеми окнами одного класса. Процедура window обрабатывает сообщения для всех окон этого класса и, следовательно, управляет их поведением и внешним видом.
Использование оконных классов Демонстрирует, как зарегистрировать локальное окно и использовать его для создания окна main.
Справочник по классу Window Содержит ссылку на API.

 

Функции класса Window

Имя Описание
GetClassInfoEx Извлекает сведения о классе окна, включая дескриптор небольшого значка, связанного с классом окна. Функция GetClassInfo не получает дескриптор небольшого значка.
GetClassLong Извлекает указанное 32-разрядное (длинное) значение из структуры WNDCLASSEX , связанной с указанным окном.
GetClassLongPtr Извлекает указанное значение из структуры WNDCLASSEX, связанной с указанным окном.
GetClassName Извлекает имя класса, которому принадлежит указанное окно.
GetWindowLong Извлекает сведения об указанном окне. Функция также извлекает 32-разрядное значение (long) с указанным смещением в дополнительную память окна.
GetWindowLongPtr Извлекает сведения об указанном окне. Функция также извлекает значение с указанным смещением в дополнительную память окна.
RegisterClass Регистрирует класс окна для последующего использования в вызовах функции CreateWindow или CreateWindowEx .
RegisterClassEx Регистрирует класс окна для последующего использования в вызовах функции CreateWindow или CreateWindowEx .
SetClassLongPtr Заменяет указанное значение с указанным смещением в дополнительной памяти класса или структуре WNDCLASSEX для класса, которому принадлежит указанное окно.
SetClassWord Заменяет 16-битовое значение (WORD) с указанным смещением в дополнительную память класса для класса окна, которому принадлежит указанное окно.
SetWindowLong Изменяет атрибут указанного окна. Функция также задает 32-разрядное значение (long) с указанным смещением в дополнительную память окна.
SetWindowLongPtr Изменяет атрибут указанного окна. Функция также задает значение с указанным смещением в дополнительной памяти окна.
Отмена регистрацииClass Отменяет регистрацию класса окна, освобождая память, необходимую для класса .

 

Следующие функции устарели.

Имя Описание
GetClassInfo Извлекает сведения о классе окна.
Примечание: Функция GetClassInfo была заменена функцией GetClassInfoEx . Вы по-прежнему можете использовать GetClassInfo, если вам не нужны сведения о маленьком значке класса.
GetClassWord Извлекает 16-битовое значение (WORD) с указанным смещением в дополнительную память класса для класса окна, которому принадлежит указанное окно. Примечание: Эта функция является нерекомендуемой для любого использования, кроме nIndex , для GCW_ATOM. Функция предоставляется только для совместимости с 16-разрядными версиями Windows. Приложения должны использовать функцию GetClassLong .
SetClassLong Заменяет указанное 32-разрядное значение (long) с указанным смещением в дополнительную память класса или структуру WNDCLASSEX для класса, которому принадлежит указанное окно. Примечание: Эта функция заменена функцией SetClassLongPtr . Чтобы написать код, совместимый с 32-разрядной и 64-разрядной версиями Windows, используйте SetClassLongPtr.

 

Структуры оконных классов

Имя Описание
WNDCLASS Содержит атрибуты класса окна, зарегистрированные функцией RegisterClass .
Эта структура была заменена структурой WNDCLASSEX , используемой с функцией RegisterClassEx . Вы по-прежнему можете использовать WNDCLASS и RegisterClass , если не нужно задавать маленький значок, связанный с классом окна.
WNDCLASSEX Содержит сведения о классе окна. Он используется с функциями RegisterClassEx и GetClassInfoEx .
Структура WNDCLASSEX аналогична структуре WNDCLASS . Есть два отличия. WNDCLASSEX включает элемент cbSize , который указывает размер структуры, и элемент hIconSm , содержащий дескриптор небольшого значка, связанного с классом окна.