Controlli ActiveX MFC: Accedere alle proprietà di ambiente

In questo articolo viene illustrato un controllo ActiveX possibile accedere alle proprietà di ambiente del contenitore di controlli.

Un controllo può ottenere informazioni sul relativo contenitore accesso alle proprietà di ambiente del contenitore.Queste proprietà vengono esposte le caratteristiche visive, ad esempio il colore di sfondo del contenitore, il tipo corrente utilizzata dal contenitore e caratteristiche operative, come se il contenitore si trova in modalità utente o in modalità di progettazione.Un controllo può utilizzare le proprietà di ambiente per adattati al relativo aspetto e comportamento il particolare contenitore in cui viene incorporato.Tuttavia, un controllo non deve mai presupponendo che il relativo contenitore supporta qualsiasi proprietà di ambiente specifico.Infatti, alcuni contenitori non possono supportare alcune proprietà di ambiente affatto.In assenza di una proprietà di ambiente, un controllo deve presupporre un valore predefinito appropriato.

Per accedere a una proprietà di ambiente, effettuare una chiamata a COleControl::GetAmbientProperty.Questa funzione accetta l'ID di invio per la proprietà di ambiente come primo parametro (il file OLECTL.H definisce la spedizione ID per il set standard delle proprietà di ambiente).

I parametri della funzione di GetAmbientProperty sono l'ID di invio, un tag variabile che indicano il tipo di proprietà previsto e un puntatore alla memoria in cui il valore deve essere restituito.Il tipo di dati a cui questo puntatore fa riferimento varia a seconda del tag variabile.La funzione restituisce TRUE se il contenitore supporta la proprietà, altrimenti restituisce FALSE.

Nell'esempio di codice ottiene il valore della proprietà di ambiente denominata “UserMode„. Se la proprietà non è supportata dal contenitore, un valore predefinito di TRUE si presuppone:

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

Per comodità, COleControl fornisce funzioni di supporto che accedono a molte proprietà di ambiente di uso frequente e le impostazioni predefinite appropriate di ritorno quando le proprietà non sono disponibili.Queste funzioni di supporto sono le seguenti:

Se il valore di una proprietà di ambiente (con una determinata azione del contenitore), la funzione membro di OnAmbientPropertyChanged del controllo viene denominato.Eseguire l'override della funzione membro per gestire tale notifica.Il parametro per OnAmbientPropertyChanged è l'ID di invio di proprietà di ambiente interessata.Il valore di tale ID di invio può essere DISPID_UNKNOWN, che indica che uno o più proprietà di ambiente è stato modificato, ma le informazioni sulle cui proprietà sono state interessate non sono disponibili.

Vedere anche

Concetti

Controlli ActiveX MFC