Condividi tramite


Proprietà del controllo

Oltre alle proprietà definite e implementate dal controllo stesso, la tecnologia dei controlli ActiveX implica anche:

proprietà di ambiente

Questi vengono esposti dal contenitore tramite un sito client di controllo per fornire valori ambientali applicabili a tutti i controlli incorporati nel contenitore. Ad esempio, un contenitore può fornire un colore di sfondo predefinito o un tipo di carattere predefinito che il controllo può usare. Le proprietà di ambiente vengono esposte tramite IDispatch implementate nell'oggetto sito di un contenitore. Il contenitore chiama il metodo IOleControl::OnAmbientPropertyChange del controllo quando una delle proprietà di ambiente cambia valore. In risposta, un controllo potrebbe dover aggiornare il proprio stato interno o visivo in risposta. Il contenitore indica quale proprietà di ambiente è stata modificata con il parametro DISPID o può passare DISPID_UNKNOWN per indicare che sono state modificate più proprietà di ambiente.

proprietà estese

Questi vengono effettivamente implementati da un contenitore per eseguire il wrapping dei controlli che contiene per fornire proprietà gestite dal contenitore visualizzate come se fossero proprietà del controllo nativo. Il contenitore può aggregare il controllo, aggiungendo le proprietà estese per integrare o eseguire l'override delle proprietà del controllo. L'oggetto aggregato è denominato controllo esteso. Nel contenitore, il controllo esteso viene visualizzato come il controllo stesso e le proprietà estese sembrano essere esposte dal controllo . Il contenitore supporta un controllo esteso tramite il metodo del sito client IOleControlSite::GetExtendedControl. Il metodo GetExtendedControl consente ai controlli di spostarsi tra il sito e l'oggetto controllo esteso fornito dal contenitore, se il contenitore supporta questa funzionalità. Un contenitore può anche scegliere di visualizzare le pagine delle proprietà per i controlli estesi oltre a quelle che un controllo normalmente specifica tramite ISpecifyPropertyPages. Per questo motivo, un controllo deve chiedere a un contenitore di visualizzare una cornice di proprietà prima che il controllo tenti di eseguire questa operazione. Il controllo chiama IOleControlSite::ShowPropertyFrame a tale scopo. Se il contenitore implementa questa funzione, mostra la cornice della proprietà stessa; se il metodo restituisce un errore, il controllo può visualizzare la cornice della proprietà.

Per altre informazioni, vedere gli argomenti seguenti:

metodi di controllo