Структура WNDCLASSEX

Type WNDCLASSEX
  cbSize As Long
  style As Long
  lpfnWndProc As Long
  cbClsExtra As Long
  cbWndExtra As Long
  hInstance As Long
  hIcon As Long
  hCursor As Long
  hbrBackground As Long
  lpszMenuName As String
  lpszClassName As String
  hIconSm As Long
End Type

Структура WNDCLASSEX содержит информацию, определяющим атрибуты заданного класса окна

Состав структуры

cbSize
Размер структуры в байтах
style
Комбинация флагов, определяющих различные стили:
CS_BYTEALIGNCLIENT = &H1000
Клиентская область окна выравнивается по горизонтали, что обеспечивает некоторое повышение быстродействия
CS_BYTEALIGNWINDOW = &H2000
Окно выравнивается по горизонтали. Также повышает быстродействие
CS_CLASSDC = &H40
Все окна данного класса используют один общий контекст устройства
CS_DBLCLKS = &H8
Окна класса получают сообщения о двойных щелчках
CS_GLOBALCLASS
Класс может использоваться другими приложениями
CS_HREDRAW = &H2
Перерисовать окно при перемещении окна
CS_NOCLOSE = &H200
Недоступна команда Закрыть в системном меню
CS_OWNDC = &H20
Каждое окно данного класса обладает собственным контекстом устройства
CS_PARENTDC = &H80
Окна класса используют контекст устройства своего родительского окна
CS_SAVEBITS = &H800
При появлении окна Windows пытается сохранить закрытое им изображение других окон , чтобы затем быстро восстановить его . Этот стиль полезен для появляющихся и быстро исчезающих окон - таких, как меню и диалоговые окна
CS_VREDRAW = &H1
Перерисовать окно при изменении высоты
lpfnWndProc
Указатель на функцию WindowProc, используемой для всех сообщений окна данного класса
cbClsExtra
Количество дополнительных байт, выделяемых в структуре окна для каждого окна данного класса
cbWndExtra
Количество дополнительных байт, выделяемых в структуре класса
hInstance
Дескрипторор экземпляра , которому принадлежит класс
hIcon
Дескриптор значка для данного класса
hCursor
Дескриптор курсора для данного класса
hbrBackground
Дескриптор кисти, используемой для заполнения фона окон данного класса. Также может содержать цвет , определенный константой с префиксом COLOR_ с прибавлением 1. Например , для использования стандартного цвета меню следует задать значение COLOR_MENU+1:
COLOR_ACTIVEBORDER = 10
The color of an active window's border.
COLOR_ACTIVECAPTION = 2
The color of an active window's caption.
COLOR_APPWORKSPACE = 12
The color of an application's workspace.
COLOR_BACKGROUND = 1
The color of the desktop background.
COLOR_BTNFACE = 15
The color of a button's face.
COLOR_BTNHIGHLIGHT = 20
The color of a button's highlight area.
COLOR_BTNSHADOW = 16
The color of a button's shadow area.
COLOR_BTNTEXT = 18
The color of a button's text.
COLOR_CAPTIONTEXT = 9
The color of an active window's caption area's text.
COLOR_GRAYTEXT = 17
The color of grayed-out text.
COLOR_HIGHLIGHT = 13
The color of a highlight.
COLOR_HIGHLIGHTTEXT = 14
The color of text in a highlight.
COLOR_INACTIVEBORDER = 11
The color of an inactive window's border.
COLOR_INACTIVECAPTION = 3
The color of an inactive window's caption.
COLOR_INACTIVECAPTIONTEXT = 19
The color of an inactive window's caption area's text.
COLOR_MENU = 4
The color of a menu.
COLOR_MENUTEXT = 7
The color of a menu's text.
COLOR_SCROLLBAR = 0
The color of a scrollbar.
COLOR_WINDOW = 5
The color of a window.
COLOR_WINDOWFRAME = 6
The color of a window's frame.
COLOR_WINDOWTEXT = 8
The color of a window's text.
lpszMenuName
Имя ресурса меню , используемого для окон данного класса
lpszClassName
Имя класса окна
hIconSm
Дескриптор малого значка для данного класса окна

Используется в:

GetClassInfoEx, RegisterClassEx