В поле hCursor помещается дескриптор курсора. Дескрипторы стандартных и определенных в приложении курсоров извлекаются при помощи функции LoadCursor(). Когда курсор мыши находится внутри окна данного класса, он имеет форму, определенную полем hCursor. При извлечении дескриптора стандартного курсора первый параметр функции должен быть равен NULL, а второй, определяющий форму курсора, должен быть одним из следующих идентификаторов:
Стандартный курсор - стрелка
Курсор - перекрестие
Курсор - вертикальная черта
Курсор - вертикальная черта
Четыре стрелки, указывающие в разные стороны
Курсор в виде вертикальной стрелки
Курсор в виде песочных часов
В приведенном выше примере передаваемые этой функции параметры NULL и IDC_ARROW определяют использование стандартного курсора-стрелки.
Полю hIcon присваивается дескриптор на встроенную пиктограмму. Для извлечения дескрипторов встроенных или определенных в приложении пиктограмм используется функция
LoadIcon(), которой в данном случае передаются параметры NULL и IDI_APPLICATION. При минимизации окна оно будет отображаться на экране в виде пиктограммы, заданной полем hIcon. Windows имеет несколько стандартных курсоров и пиктограмм. Для доступа к стандартным пиктограммам используется функция LoadIcon(). При этом первый параметр функции должен быть равен NULL, а второй параметр, определяющий выбранную пиктограмму, должен быть равен одному из следующих идентификаторов:
IDI_APPLICATION
Рис.8. Стандартные пиктограммы Windows.
Поле style структуры класса окна содержит набор флагов, определяющих тип окна. Например
pW.style = CS_HREDRAW | CS_VREDRAW;
Флаги CS_HREDRAW и CS_VREDRAW сообщают Windows, что рабочая область окна должна обновляться при изменении ее вертикального (CS_VREDRAW) и горизонтального (CS_HREDRAW) размеров. Позже мы рассмотрим другие флаги.
Поле cbClsExtra задает в байтах объем памяти, резервируемый Windows в конце структуры класса окна, которую система запоминает в служебной памяти для всех окон данного класса. При создании каждого нового окна Windows также создает и заполняет собственную структуру класса окна для каждого созданного окна.