Структура WNDCLASS
Структура WNDCLASS содержит атрибуты класса окна, которые зарегистрированы функцией RegisterClass.
Эта структура была заменена структурой WNDCLASSEX, используемой с функцией RegisterClassEx. Вы можете все же использовать WNDCLASS и RegisterClass, если не нуждаетесь в установке маленького значка, связанного с классом окна.
Синтаксис
typedef struct { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; } WNDCLASS, *PWNDCLASS; |
Члены структуры
style
Устанавливает стиль(и) класса. Этот член структуры может быть любой комбинацией Стилей класса.
lpfnWndProc
Указатель на оконную процедуру. Вы должны использовать функцию CallWindowProc, чтобы вызвать оконную процедуру. Дополнительную информацию, см. в описании WindowProc.
cbClsExtra
Устанавливает число дополнительных байт, которые размещаются вслед за структурой класса окна. Система инициализирует эти байты нулями.
cbWndExtra
Устанавливает число дополнительных байтов, которые размещаются вслед за экземпляром окна. Система инициализирует байты нулями. Если приложение использует WNDCLASS, чтобы зарегистрировать диалоговое окно, созданное при помощи использования директивы CLASS в файле ресурса, оно должно установить этот член структуры в DLGWINDOWEXTRA.
hInstance
Дескриптор экземпляра, который содержит оконную процедуру для класса.
hIcon
Дескриптор значка класса. Этот член структуры должен быть дескриптором ресурса значка. Если этот член структуры - ПУСТО (NULL), система предоставляет заданный по умолчанию значок.
hCursor
Дескриптор курсора класса. Этот член структуры должен быть дескриптором ресурса курсора. Если этот член структуры - ПУСТО (NULL), приложение должно явно устанавливать форму курсора всякий раз, когда мышь перемещается в окно прикладной программы.
hbrBackground
Дескриптор кисти фона класса. Этот член структуры может быть дескриптором физической кисти, которая используется, чтобы красить цветом фона, или это может быть кодом цвета. Код цвета должен быть одним из ниже перечисленных стандартных системных цветов (значение 1 должно добавляться к выбранному цвету). Если дается код цвета, Вы должны преобразовать его в один из ниже перечисленных типов HBRUSH:
Система автоматически удаляет кисти фона класса, когда класс становится незарегистрированным при помощи использования функции UnregisterClass. Приложение не должно удалять эти кисти.
Когда этот член структуры - ПУСТО (NULL), прикладная программа должна окрашивать в свой фон сама всякий раз, когда ей требуется рисовать в своей рабочей области. Чтобы выяснять, каким фоном нужно красить, приложение может, или обработать сообщение WM_ERASEBKGND или проверить член fErase структуры PAINTSTRUCT, заполненной функцией BeginPaint.
lpszMenuName
Указатель на символьную строку с символом конца строки ('\0') (нуль-терминатором), которая устанавливает имя ресурса меню класса, которое как имя показывается в файле ресурса. Если Вы используете целое число, чтобы идентифицировать меню, используйте макрос MAKEINTRESOURCE. Если этот член структуры - ПУСТО (NULL), окна, принадлежащие этому классу, не имеют никакого заданного по умолчанию меню.
lpszClassName
Указатель на символьную строку с нулем в конце или атом. Если этот параметр - атом, это должен быть атом класса, созданный предыдущим вызовом функции RegisterClass или RegisterClassEx. Атом должен находиться в младшем слове lpszClassName; старшее слово должно быть нуль.
Если lpszClassName - символьная строка, она задает имя класса окна. Имя класса может быть любым именем, зарегистрированным функцией RegisterClass или RegisterClassEx, или какое - либо из предопределенных имен класса органов управления.
Смотри также
Обзор Классы окна, Структуры, используемые классами окна, BeginPaint, CreateWindow, CreateWindowEx, GetDC, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, UnregisterClass, WNDCLASSEX, WindowProc, WM_PAINT
Размещение и совместимость WNDCLASS |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
- |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |