Структура WNDCLASSA (winuser.h)
Содержит атрибуты класса окна, зарегистрированные функцией RegisterClass .
Эта структура была заменена структурой WNDCLASSEX , используемой с функцией RegisterClassEx . Вы по-прежнему можете использовать WNDCLASS и RegisterClass , если не нужно задавать небольшой значок, связанный с классом окна.
Синтаксис
typedef struct tagWNDCLASSA {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;
Члены
style
Тип: UINT
Стили классов. Это может быть любое сочетание стилей классов.
lpfnWndProc
Тип: WNDPROC
Указатель на процедуру окна. Для вызова процедуры окна необходимо использовать функцию CallWindowProc . Дополнительные сведения см. в разделе WindowProc.
cbClsExtra
Тип: int
Количество дополнительных байтов, выделяемых в соответствии со структурой класса окна. Система инициализирует байты нулевым значением.
cbWndExtra
Тип: int
Количество дополнительных байтов, выделяемых после экземпляра окна. Система инициализирует байты нулевым значением. Если приложение использует WNDCLASS для регистрации диалогового окна, созданного с помощью директивы CLASS в файле ресурсов, оно должно задать для этого члена значение DLGWINDOWEXTRA.
hInstance
Тип: HINSTANCE
Дескриптор экземпляра , содержащего процедуру окна для класса .
hIcon
Тип: HICON
Дескриптор для значка класса. Этот элемент должен быть дескриптором ресурса значка. Если этот элемент имеет значение NULL, система предоставляет значок по умолчанию.
hCursor
Тип: HCURSOR
Дескриптор курсора класса. Этот элемент должен быть дескриптором для ресурса курсора. Если этот элемент имеет значение NULL, приложение должно явно задавать фигуру курсора при каждом перемещении мыши в окно приложения.
hbrBackground
Тип: HBRUSH
Дескриптор фоновой кисти класса. Этот элемент может быть дескриптором физической кисти, используемой для рисования фона, или значением цвета. Значение цвета должно быть одним из следующих стандартных системных цветов (значение 1 должно быть добавлено к выбранному цвету). Если задано значение цвета, необходимо преобразовать его в один из следующих типов HBRUSH :
- COLOR_ACTIVEBORDER
- COLOR_ACTIVECAPTION
- COLOR_APPWORKSPACE
- COLOR_BACKGROUND
- COLOR_BTNFACE
- COLOR_BTNSHADOW
- COLOR_BTNTEXT
- COLOR_CAPTIONTEXT
- COLOR_GRAYTEXT
- COLOR_HIGHLIGHT
- COLOR_HIGHLIGHTTEXT
- COLOR_INACTIVEBORDER
- COLOR_INACTIVECAPTION
- COLOR_MENU
- COLOR_MENUTEXT
- COLOR_SCROLLBAR
- COLOR_WINDOW
- COLOR_WINDOWFRAME
- COLOR_WINDOWTEXT
Если этот элемент имеет значение NULL, приложение должно рисовать собственный фон всякий раз, когда ему будет предложено зарисовать в своей клиентской области. Чтобы определить, нужно ли закрашивать фон, приложение может обработать сообщение WM_ERASEBKGND или протестировать элемент fErase структуры PAINTSTRUCT , заполненной функцией BeginPaint .
lpszMenuName
Тип: LPCTSTR
Имя ресурса меню класса, отображаемого в файле ресурсов. Если для определения меню используется целое число, используйте макрос MAKEINTRESOURCE . Если этот член имеет значение NULL, окна, принадлежащие этому классу, не имеют меню по умолчанию.
lpszClassName
Тип: LPCTSTR
Указатель на строку, завершаемую null, или является атомом. Если этот параметр является atom, это должен быть атом класса, созданный при предыдущем вызове функции RegisterClass или RegisterClassEx . Атом должен быть в нижнем порядке слово lpszClassName; Слово высокого порядка должно быть равно нулю.
Если lpszClassName является строкой, она указывает имя класса окна. Имя класса может быть любым именем, зарегистрированным с помощью RegisterClass или RegisterClassEx, или любым из предопределенных имен классов элементов управления.
Максимальная длина lpszClassName — 256. Если значение lpszClassName больше максимальной длины, функция RegisterClass завершится ошибкой.
Комментарии
Примечание
Заголовок winuser.h определяет WNDCLASS в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | winuser.h (включая Windows.h) |
См. также раздел
Основные понятия
Другие ресурсы
Справочные материалы