Condividi tramite


Uso della funzionalità del contenitore

Le sezioni precedenti hanno descritto alcuni dei necessari supporto sul lato chiamante che un controllo ActiveX deve avere per accedere a determinate funzionalità del contenitore. Nella tabella seguente viene descritto l'utilizzo di un controllo delle interfacce lato contenitore e quando si verifica tale utilizzo.

Interfaccia Oggetto Container Utilizzo
Ioleclientsite
Site
I controlli che implementano i metodi IOleObject chiamano i metodi IOleClientSite come parte del protocollo di incorporamento OLE standard, in particolare i metodi SaveObject, ShowObject, OnShowWindow (solo se è supportato uno stato di attivazione di finestra separata), RequestNewObjectLayout e GetContainer (se si desidera comunicare con altri controlli). Il metodo GetMoniker viene utilizzato solo quando il controllo può essere collegato all'esterno, ovvero il controllo non è contrassegnato con OLEMISC_CANTLINKINSIDE.
IOleInPlaceSite
Site
I controlli con attivazione sul posto e possibilmente uno stato attivo dell'interfaccia utente chiameranno i metodi IOleInPlaceSite (in genere tutti con eccezione di ContextSensitiveHelp) come parte del protocollo di attivazione sul posto OLE standard.
Iadvisesink
Site
Il controllo chiama OnDataChange se il controllo supporta IDataObject, OnViewChange se il controllo supporta IViewObject2 e OnClose, OnSave e OnRename se il controllo supporta IOleObject.
IOleControlSite
Site
Se supportato, il controllo chiama OnControlInfoChanged quando cambiano mnemonics, LockInPlaceActive e TransformCoords se vengono generati eventi (quest'ultimo metodo viene usato solo se le coordinate vengono passate come argomenti evento), OnFocus e TranslateAccelerator se il controllo ha uno stato attivo dell'interfaccia utente e GetExtendedControl se il controllo vuole esaminare le proprietà del controllo esteso (di proprietà del contenitore).
IDispatch (proprietà di ambiente)
Site
Utilizzato per accedere alle proprietà di ambiente.
Ipropertynotifysink
Variabile
Un controllo deve generare rispettivamente OnChanged e OnRequestEdit per tutte le proprietà del controllo contrassegnate come [associabili] e [request].
Altre interfacce sink di eventi
Variabile
Un controllo con interfacce in uscita diverse da IPropertyNotifySink verrà consegnato ad altri puntatori di interfaccia dell'IID corretto all'I Connessione ionPoint::Advise implementazioni (che in genere si trovano nei sotto-oggetti del controllo). Un controllo sa sempre come chiamare le proprie interfacce evento perché il controllo definisce tali interfacce.
Ioleinplaceframe
Frame
Usato quando un controllo ha uno stato attivo dell'interfaccia utente sul posto che richiede strumenti a livello di frame o voci di menu.
Ioleinplaceuiwindow
Documento
Usato solo quando un controllo ha uno stato attivo dell'interfaccia utente sul posto che richiede strumenti dell'interfaccia utente a livello di documento o a livello di riquadro. Si tratta di un caso raro.

Controlli