WNDCLASSEX структура содержит сведения о классе окна. Он используется с RegisterClassEx и GetClassInfoEx функции.
WNDCLASSEX структура аналогична структуре WNDCLASS . Существует два различия. WNDCLASSEX включает в себя элемент cbSize , который определяет размер структуры, и член hIconSm , которое содержит дескриптор мелкого значка, связанные с класса окна.
typedef struct _WNDCLASSEX {UINT cbSize;
UINT стиле;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HInstance ручки;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX
Значение | Действия |
---|---|
CS_BYTEALIGNCLIENT | Выравнивает клиентской области окна на границе байта (в направлении x). Этот стиль влияет на ширину окна и его горизонтальное положение на дисплее. |
CS_BYTEALIGNWINDOW | Выравнивает окно на границе байта (в направлении x). Этот стиль влияет на ширину окна и его горизонтальное положение на дисплее. |
CS_CLASSDC | Выделяет один контекст устройства для совместного использования всех окон в классе. Потому что окно классы специфики процесса, это возможно для нескольких потоков приложения для создания окна того же класса. Это также возможно для потоков, чтобы попытаться использовать контекст устройства одновременно. Когда это происходит, система позволяет только один поток для успешного завершения операции рисования. Для получения дополнительной информации, смотрите Контексты устройств. |
CS_DBLCLKS | Отправляет дважды щелкните сообщения процедуре окна при двойном щелчке мыши, когда курсор находится внутри окна, принадлежащие к классу. |
CS_GLOBALCLASS | Позволяет приложению для создания окна класса независимо от значения параметра hInstance , переданных в функцию CreateWindowEx . Если не указать этот стиль, hInstance параметр, передаваемый в функцию CreateWindow (или CreateWindowEx) должен быть таким же, как hInstance параметр, передаваемый в функцию RegisterClassEx. |
Глобальный класс можно создать путем создания класса окна в динамически подключаемой библиотеке (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 | Перерисовывает все окно, если движение или корректировку размеров изменяется высота клиентской области. |
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 структуры заполнены обработке функция.
Если lpszClassName является строкой, он определяет имя класса окна.
nbsp; Windows &NT: требует версии 3.5 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Юникод:Определяется как структуры Unicode и ANSI.
Обзор окна классов, структур класса окна, GetClassInfoEx, RegisterClassEx