Interfaces de document composé
Les tableaux suivants répertorient les interfaces implémentées par les conteneurs OLE, les serveurs OLE et les objets de document composés. Les interfaces requises doivent être implémentées sur les composants pour lesquels elles sont répertoriées. Toutes les autres fonctionnalités sont facultatives. Toutefois, si vous souhaitez inclure une fonctionnalité particulière dans votre application, vous devez implémenter les interfaces indiquées pour cette fonctionnalité dans le tableau ci-dessous. Toutes les autres interfaces sont requises uniquement si vous incluez une fonctionnalité particulière.
Le tableau suivant répertorie les comportements obligatoires et facultatifs pour les conteneurs OLE et les interfaces que vous devez implémenter pour chacun d’eux.
Comportement | Interfaces |
---|---|
Comportements requis |
IOleClientSite IAdviseSink |
Filtrage des messages |
IMessageFilter |
Liaison |
aucun |
Liaison à des objets incorporés |
IOleItemContainer IPersistFile IClassFactory |
Activation sur place |
IOleInPlaceSite IOleInPlaceFrame IOleInPlaceObject |
Glisser-déplacer |
IDropSource IDropTarget Idataobject |
Le tableau suivant répertorie les comportements obligatoires et facultatifs pour les serveurs OLE et leurs objets de document composés, et les interfaces que vous devez implémenter pour chacun d’eux. La table distingue les serveurs OLE et leurs objets afin de clarifier le composant qui implémente les interfaces. Le tableau note également les différentes exigences des objets fournis par les serveurs hors processus par rapport aux serveurs in-process.
Fonctionnalité | SERVEUR OLE | Objet (hors processus) | Objet (in-process) |
---|---|---|---|
Comportements requis |
IClassFactory |
IOleObject Idataobject IPersistStorage |
IOleObject Idataobject IPersistStorage IViewObject2 IOleCache2 |
Filtrage des messages |
IMessageFilter |
||
Liaison |
IOleItemContainer IPersistFile |
IOleLink IExternalConnection |
|
Activation sur place |
IOleInPlaceObject IOleInPlaceActiveObject |
IOleInPlaceObject IOleInPlaceActiveObject |
|
Glisser-déplacer |
IDropSource IDropTarget Idataobject |