Структура WNDCLASSW (winuser.h)
Содержит атрибуты класса окна, зарегистрированные функцией RegisterClass .
Эта структура была заменена структурой WNDCLASSEX , используемой с функцией RegisterClassEx . Вы по-прежнему можете использовать WNDCLASS и RegisterClass , если не нужно задавать маленький значок, связанный с классом окна.
Синтаксис
typedef struct tagWNDCLASSW {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
} WNDCLASSW, *PWNDCLASSW, *NPWNDCLASSW, *LPWNDCLASSW;
Члены
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, или является атомом. Если этот параметр является атомом, он должен быть атомом класса, созданным при предыдущем вызове функции RegisterClass или RegisterClassEx . Атом должен быть в нижнем порядке в слове lpszClassName; Слово высокого порядка должно быть равно нулю.
Если lpszClassName является строкой, она указывает имя класса окна. Имя класса может быть любым именем, зарегистрированным в RegisterClass или RegisterClassEx, или любым из предопределенных имен класса элементов управления.
Максимальная длина lpszClassName — 256. Если значение lpszClassName превышает максимальную длину, функция RegisterClass завершится ошибкой.
Комментарии
Примечание
Заголовок winuser.h определяет WNDCLASS как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | winuser.h (включая Windows.h) |
См. также раздел
Основные понятия
Другие ресурсы
Справочные материалы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по