Udostępnij za pośrednictwem


Formanty ActiveX MFC: Dostęp do właściwości otoczenia

W tym artykule omówiono, jak formantu ActiveX można uzyskać dostęp do właściwości otoczenia jego formantu kontenera.

Formant można uzyskać informacje o jego kontenera, uzyskując dostęp do właściwości otoczenia kontenera.Te właściwości narazić cechy wizualne, takie jak kolor tła kontenera, bieżące czcionki używane w kontenerze i cechy operacyjne, takie jak czy kontenera jest aktualnie w trybie użytkownika lub projektanta.Formant można użyć właściwości otoczenia, aby dostosować jego wygląd i zachowanie do określonego kontenera, w której jest osadzony.Jednak formant należy nigdy nie zakładać, że jego opakowanie będzie obsługiwać wszelkie szczególne właściwości otoczenia.W rzeczywistości niektóre kontenery mogą nie obsługiwać wszystkie właściwości otoczenia na wszystkich.W przypadku braku otoczenia właściwość formantu należy zakładać rozsądnych domyślną wartość.

Dostęp otoczenia właściwości, do wywołania do COleControl::GetAmbientProperty.Ta funkcja oczekuje, że identyfikator wysyłki dla otoczenia właściwości jako pierwszy parametr (plik OLECTL.H definiuje identyfikatorów wysyłania dla standardowego zestawu właściwości otoczenia).

Parametry GetAmbientProperty funkcji są identyfikator wysyłki, wariant znacznik wskazujący typ właściwości oczekiwane i wskaźnik do pamięci, gdy zwracana wartość.Typ danych, do którego odnosi się ten wskaźnik zależą od znacznika wariantu.Funkcja zwraca TRUE Jeśli kontener obsługuje właściwość, w przeciwnym razie zwraca FALSE.

Poniższy przykład kodu uzyskuje wartość właściwości otoczenia, o nazwie "Trybu użytkownika." Jeśli właściwość nie jest obsługiwana przez kontener domyślną wartość TRUE zakłada, że:

BOOL bUserMode;
if(!GetAmbientProperty( DISPID_AMBIENT_USERMODE, VT_BOOL, &bUserMode))
   bUserMode = TRUE;

Dla wygody użytkownika COleControl dostarcza dostęp do wielu powszechnie używanych właściwości otoczenia i zwrócić odpowiednie wartości domyślne, gdy właściwości nie są dostępne funkcje pomocnika.Te funkcje pomocnika są następujące:

Jeśli zmieni się wartość właściwości otoczenia (poprzez niektóre działania pojemnika), OnAmbientPropertyChanged wywoływana jest funkcja Członkowskie formantu.Zastąpienie tej funkcji składowej obsługi takiego powiadomienia.Parametr dla OnAmbientPropertyChanged jest Identyfikatorem wysyłki dotkniętych właściwości otoczenia.Wartość tego Identyfikatora wysyłki może być DISPID_UNKNOWN, która wskazuje, że zmienił się jeden lub więcej właściwości otoczenia, ale informacje o tym, które zostały dotknięte właściwości są niedostępne.

Zobacz też

Koncepcje

Formanty ActiveX MFC