ActiveX с нуля


Доступ к свойствам контейнера. - часть 2


#define DISPID_AMBIENT_RIGHTTOLEFT                    (-732)

#define DISPID_AMBIENT_TOPTOBOTTOM                 (-733)

Второй параметр функции GetAmbientProperty определяет ожидаемый тип свойства, а третий – адрес, по которому будет записано значение. При успешном выполнении и поддержке свойства контейнером функция возвращает TRUE, в противном случае –FALSE.

Ниже приводится фрагмент кода для получения свойства контейнера UserMode:

BOOL bUserMode;

   if( !GetAmbientProperty( DISPID_AMBIENT_USERMODE,

      VT_BOOL, &bUserMode ) )

      bUserMode = TRUE;

Класс COleControl содержит методы для доступа к часто используемым свойствам контейнера (таблица 5):

Таблица 5. Некоторые функции для получения свойств контейнера.

Функция

Назначение

OLE_COLOR AmbientBackColor()

Возвращает значение фонового цвета окружения.

CString AmbientDisplayName()

Возвращает имя элемента в контейнере.

OLE_COLOR

AmbientForeColor()

Возвращает значение цвета переднего плана окружения.

LPFONTDISP

AmbientFont()

Возвращает значение шрифта окружения.

short AmbientTextAlign()

Возвращает тип тектового выравнивания в контейнере:

0 – обычное выравнивание;

1 – по левому краю;

2 – по центру;

3 – по правому краю.

BOOL AmbientUIDead()

Возвращает, должен ли элемент реагировать на действия пользователя:

не 0 , если элемент должен реагировать на действия пользователя

BOOL

AmbientUserMode()

Возвращает режим контейнера: 0-режим конструирования, не 0 – рабочий режим.

BOOL GetAmbientProperty( DISPID dwDispid, VARTYPE

vtProp, void*

pvProp );

Возвращает значение указанного как параметр свойства окружения.

Если свойство контейнера изменяется, то вызывается функция COleControl::OnAmbientPropertyChanged. Переопределяя эту функцию, Вы можете определить свои действия. Параметр этой функции определяет свойство, которое изменилось.




- Начало -  - Назад -  - Вперед -