WNDCLASS

WNDCLASS структура содержит атрибуты класса окна, которые регистрируются в функция RegisterClass.

Эта структура была заменена структурой WNDCLASSEX используется с функцией RegisterClassEx . Можно по-прежнему использовать WNDCLASS и RegisterClass если вам не нужно установить небольшой значок, связанный с класса окна.

typedef struct _WNDCLASS {UINT стиле; 
    WNDPROC lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    HInstance ручки; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
} WNDCLASS 
 

Члены

стиль
Определяет класс style(s). Стили могут быть объединены с помощью побитового или (|) оператора. Этот член может быть любым сочетанием следующих значений:
Значение Действия
CS_BYTEALIGNCLIENT Выравнивает клиентской области окна на границе байта (в направлении x). Этот стиль влияет на ширину окна и его горизонтальное положение на дисплее.
CS_BYTEALIGNWINDOW Выравнивает окно на границе байта (в направлении x). Этот стиль влияет на ширину окна и его горизонтальное положение на дисплее.
CS_CLASSDC Выделяет один контекст устройства для совместного использования всех окон в классе. Потому что окно классы специфики процесса, это возможно для нескольких потоков приложения для создания окна того же класса. Это также возможно для потоков, чтобы попытаться использовать контекст устройства одновременно. Когда это происходит, система позволяет только один поток для успешного завершения операции рисования. Для получения дополнительной информации, смотрите Контексты устройств.
CS_DBLCLKS Отправляет дважды щелкните сообщения процедуре окна при двойном щелчке мыши, когда курсор находится внутри окна, принадлежащие к классу.
CS_GLOBALCLASS Позволяет приложению для создания окна класса независимо от значения параметра hInstance , передаваемый CreateWindow или CreateWindowEx функции. Если не указать этот стиль, hInstance параметр, передаваемый в функцию CreateWindow (или CreateWindowEx) должен быть таким же, как hInstance параметр, передаваемый в функцию RegisterClass.
Глобальный класс можно создать путем создания класса окна в динамически подключаемой библиотеке (DLL) и список имя DLL-библиотеки в разделе следующие ключи реестра:
HKEY_LOCAL_MACHINE\программного обеспечения
\Microsoft\Windows NT\
CurrentVersion\Windows\AppInit_DLLs
Всякий раз, когда начинается процесс, система загружает указанной библиотеки DLL в контексте недавно начала процесса перед вызовом функции точки входа в этом процессе. Библиотека DLL необходимо зарегистрировать класс во время инициализации процедуры и необходимо указать стиль CS_GLOBALCLASS.
CS_HREDRAW Перерисовывает все окно, если движение или корректировку размеров меняет ширину клиентской области.
CS_NOCLOSE Отключает Закрыть в меню окно.
CS_OWNDC Выделяет контекста уникальный устройства для каждого окна в классе.
CS_PARENTDC Устанавливает области отсечения дочернего окна, родительского окна так, что ребенок может опираться на родителя. Окно с бита стиля CS_PARENTDC получает контекст регулярный устройства от системного кэша контексты устройств. Он не дает ребенка родительского элемента контекста устройства или параметры контекста устройства. Указание CS_PARENTDC улучшает производительность приложения. Для получения дополнительной информации, смотрите Контексты устройств.
CS_SAVEBITS Сохраняет, точечный, часть изображения на экране, скрываются за окном. Система использует сохраненные растровое изображение для повторного создания изображения на экране, когда окно удаляется. Система отображает растровое изображение в исходном месте и не отправляет сообщения WM_PAINT для windows, скрываются в окне если память, используемая точечный рисунок не отказались и если другие действия, экран не недопустимым сохраненные изображения. Этот стиль используется для небольших окон (например, меню или диалоговых окон), которые отображаются кратко и затем удалены до другой экран деятельности. Этот стиль увеличивает время, необходимое для отображения окна, потому что система должна сначала выделить память для хранения точечный рисунок.
CS_VREDRAW Перерисовывает все окно, если движение или корректировку размеров изменяется высота клиентской области.

lpfnWndProc
Указатель на процедуру окна. Необходимо использовать функцию CallWindowProc для вызова процедуры окна. Для получения дополнительной информации смотрите WindowProc.
cbClsExtra
Указывает количество дополнительные байты для выделения после структуру класса окна. Система инициализирует байты 0.
cbWndExtra
Указывает количество дополнительные байты для выделения после экземпляра окна. Система инициализирует байт до нуля. Если приложение использует WNDCLASS для регистрации диалоговое окно, созданных с помощью директивы класса в файле ресурсов, то необходимо установить этот член в DLGWINDOWEXTRA.
hInstance
Дескриптор экземпляра, что процедура окна этого класса находится в пределах.
hIcon
Дескриптор для значка класса. Этот член должен быть дескриптор ресурса значка. Если этот элемент имеет значение NULL, приложение должны извлечь иконы, всякий раз, когда пользователь сворачивает окно приложения.
hCursor
Дескриптор класса курсор. Этот член должен быть дескриптор курсора ресурса. Если этот элемент имеет значение NULL, приложение должно явно задать форму курсора всякий раз, когда указатель мыши перемещается в окно приложения.
hbrBackground
Дескриптор класса фоновую кисть. Этот член может быть дескриптор физического кисти для рисования на фоне, или это может быть значение цвета. Значение цвета должно быть одним из следующих стандартных системных цветов (значение 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 структуры заполнены обработке функция.

lpszMenuName
Указатель на строку нулем символов, указывающая имя ресурса класса меню, как имя появляется в файле ресурсов. Если вы используете целое для идентификации в меню, используйте макрос MAKEINTRESOURCE . Если этот элемент имеет значение NULL, окна, принадлежащие к этому классу имеют меню не по умолчанию.
lpszClassName
Указатель на строку, оканчивающуюся нулем или это атом. Если этот параметр равен атома, он должен быть глобальный атом, созданных в результате предыдущего вызова функции GlobalAddAtom . Атом, 16-битное значение, должен быть в младшее слово lpszClassName; старшее слово должен быть равен нулю.

Если lpszClassName является строкой, он определяет имя класса окна.

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Юникод:Определяется как структуры Unicode и ANSI.

Родственные слова

Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT

Index