Контрольный элемент может получать информацию о свойствах контейнера. Эти свойства могут содержать важную для отображения информацию, например, цвет фона контейнера, шрифт, используемый в контейнере. Элемент ActiveX может использовать эти свойства для своего отображения. Следует заметить, что некоторые контейнеры могут не поддерживать указанные свойства, поэтому элемент ActiveX должен иметь какое-то значение по умолчанию.
Для доступа к свойствам контейнера можно использовать метод класса COleControl::GetAmbientProperty:
BOOL GetAmbientProperty( DISPID dwDispid, VARTYPE
vtProp, void* pvProp );
Первый параметр этого метода – идентификатор для свойства контейнера. Стандартные свойства контейнера приводятся в файле OLECTL.H:
#define DISPID_AMBIENT_BACKCOLOR (-701)
#define DISPID_AMBIENT_DISPLAYNAME (-702)
#define DISPID_AMBIENT_FONT (-703)
#define DISPID_AMBIENT_FORECOLOR (-704)
#define DISPID_AMBIENT_LOCALEID (-705)
#define DISPID_AMBIENT_MESSAGEREFLECT (-706)
#define DISPID_AMBIENT_SCALEUNITS (-707)
#define DISPID_AMBIENT_TEXTALIGN (-708)
#define DISPID_AMBIENT_USERMODE (-709)
#define DISPID_AMBIENT_UIDEAD (-710)
#define DISPID_AMBIENT_SHOWGRABHANDLES (-711)
#define DISPID_AMBIENT_SHOWHATCHING (-712)
#define DISPID_AMBIENT_DISPLAYASDEFAULT (-713)
#define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
#define DISPID_AMBIENT_AUTOCLIP (-715)
#define DISPID_AMBIENT_APPEARANCE (-716)
#define DISPID_AMBIENT_CODEPAGE (-725)
#define DISPID_AMBIENT_PALETTE (-726)
#define DISPID_AMBIENT_CHARSET (-727)
#define DISPID_AMBIENT_TRANSFERPRIORITY (-728)
|
Функция |
Назначение |
|
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 ); |
Возвращает значение указанного как параметр свойства окружения. |