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 |
Sì |
|
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 |
Sì |
|
IOleControlSite |
Sì |
|
Ioleinplaceframe |
Sì |
|
IOleContainer |
Sì |
Vedere la nota 1 |
IDispatch per le proprietà di ambiente |
Sì |
Vedere la nota 2 e le proprietà di ambiente per i controlli |
Set di eventi di controllo |
Sì |
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 |
Sì |
Obbligatorio se il contenitore supporta interfacce doppie. Vedere la nota 2. |
IClassFactory2 |
No |
Il supporto è fortemente consigliato. |
- 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.
- 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.