Condividi tramite


Interfacce obbligatorie (COM)

La tabella seguente elenca le interfacce del contenitore di controlli ActiveX e indica quali interfacce sono facoltative e che sono obbligatorie e devono essere implementate dai contenitori di controllo.

Interfaccia Obbligatorio? Commenti
Ioleclientsite

Iadvisesink
No
Solo quando il contenitore desidera notifiche di modifica dei dati (a) (controlli con IDataObject), (b) visualizza notifica delle modifiche (controlli che non sono attivi e hanno IViewObject o IViewObject2) e (c) altre notifiche dai controlli che fungono da oggetti incorporati standard.
IOleInPlaceSite

IOleControlSite

Ioleinplaceframe

IOleContainer

Vedere la nota 1
IDispatch per le proprietà di ambiente

Vedere la nota 2 e le proprietà di ambiente per i controlli
Set di eventi di controllo

Vedere la nota 2
ISimpleFrameSite
No
ISimpleFrameSite e il supporto per i fotogrammi semplici annidati è facoltativo.
Ipropertynotifysink
No
Sono necessari solo per i contenitori che (a) hanno una propria interfaccia utente di modifica delle proprietà che richiederebbe l'aggiornamento ogni volta che un controllo ha modificato una proprietà stessa o (b) vuole controllare le modifiche delle proprietà [requestedit] e altre funzionalità di data binding.
IErrorInfo

Obbligatorio se il contenitore supporta interfacce doppie. Vedere la nota 2.
IClassFactory2
No
Il supporto è fortemente consigliato.
  1. IOleContainer viene implementato nel documento o nell'oggetto modulo (o nell'analogico appropriato) che contiene i siti del contenitore. I controlli usano IOleContainer per passare ad altri controlli nello stesso documento o modulo.
  2. Il supporto per le interfacce duali non è obbligatorio, ma è fortemente consigliato. La scrittura di contenitori di controlli ActiveX per sfruttare i vantaggi delle interfacce duali consentirà prestazioni migliori con i controlli che offrono supporto a doppia interfaccia.

I contenitori di controlli ActiveX devono supportare eccezioni di automazione OLE. Se un contenitore di controlli supporta interfacce duali, deve acquisire eccezioni di automazione tramite IErrorInfo.

Contenitori