Pascal 7 & Objects

       

Классы окон


-----------------------------------------------------------------

С каждым типом оконного объекта связан список атрибутов ре- гистрации, которые называются классом окна. Список атрибутов ре- гистрации во многом напоминает список атрибутов создания, запи- санных в поле записи Attr объекта окна. Однако, атрибуты регист- рации сохраняются в записи с именем TWndClass, который определя- ется и поддерживается Windows.

Процесс связи класса окна с типом оконного объекта называет- ся регистрацией класса окна. ObjectWindows автоматизирует процесс регистрации. Таким образом, если вы хотите изменить какую-либо из используемых по умолчанию характеристик объекта, то можете не беспокоиться о классе регистрации окна.

Поля записи TWndClass и их типы перечислены в следующей таб- лице:

Атрибуты регистрации окна Таблица 10.2 +-------------------------+-------------------+-----------------+ | Характеристика | Поле | Тип | +-------------------------+-------------------+-----------------| | стиль класса | style | Word | | пиктограмма | hIcon | HIcon | | курсор | hCursor | HCursor | | фоновый цвет | hbrBackground | HBrush | | меню по умолчанию | lpszMenuName | PChar | +-------------------------+-------------------+-----------------+

Поля стиля класса

Это поле стиля отличается от атрибута стиля окна (ws_), за- даваемого при инициализации окна, поскольку задает поведение, присущее операциям окна (в отличие от их визуального представле- ния). Это поле может заполняться комбинацией констант стиля (cs_).

Например, cs_HRedraw приводит к повторному отображению окна при изменении его размера по горизонтали; cs_DoubleClk позволяет окну получать сообщения о двойном нажатии кнопки "мыши"; cs_NoClose предотвращает выбор параметра Close меню Control, а cs_ParentDC дает окну контекст дисплея порождающего окна.

Поле пиктограммы

Это поле содержит описатель пиктограммы, которое использует- ся для представления окна в его минимизированном состоянии. Обыч- но для представления основного окна программы выбирается ресурс пиктограммы.


Поле курсора

Поле hCursor содержит описатель курсора, который использует- ся для представления указателя "мыши" при позиционировании его в окне.

Поле фонового цвета

Это поле задает фоновый цвет окна. Для большинства приложе- ний используется стандартный назначаемый по умолчанию цвет окна, который может устанавливаться пользователем в управляющей панели. Однако вы можете путем установки этого поля в описатель физичес- кой кисти подставить конкретный цвет. Либо вы можете установить любое из значений цветов Windows, такие как color_ActiveCaption. К любому значению цвета всегда добавляйте 1.

Поле используемого по умолчанию меню

Это поле указывает на имя ресурса меню, которое служит ис- пользуемым по умолчанию меню для данного класса. Например, если вы определите тип EditWindow, который всегда имеет стандартное меню редактирования, то можете задать здесь это меню. Это устра- нит необходимость задания меню в методе Init. Если данный ресурс меню имеет идентификатор 'MyMenu', вы можете установить это поле следующим образом:

AWndClass.IpszMenuName := 'MyMenu';


Содержание раздела