Freigeben über


Verwenden der Containerfunktionalität

In den vorherigen Abschnitten wurden einige der erforderlichen aufruferseitigen Unterstützung beschrieben, die ein ActiveX-Steuerelement haben muss, um auf bestimmte Features seines Containers zugreifen zu können. In der folgenden Tabelle wird die Verwendung containerseitiger Schnittstellen eines Steuerelements und der Zeitpunkt einer solchen Verwendung beschrieben.

Schnittstelle Containerobjekt Verbrauch
IOleClientSite
Website
Steuerelemente, die IOleObject implementieren, rufen IOleClientSite-Methoden als Teil des OLE-Standardprotokolls auf, insbesondere die Methoden SaveObject, ShowObject, OnShowWindow (nur, wenn ein Aktivierungsstatus für separate Fenster unterstützt wird), RequestNewObjectLayout und GetContainer (wenn kommunikation mit anderen Steuerelementen gewünscht ist). Die GetMoniker-Methode wird nur verwendet, wenn das Steuerelement extern verknüpft werden kann, d. h. das Steuerelement ist nicht mit OLEMISC_CANTLINKINSIDE gekennzeichnet.
IOleInPlaceSite
Website
Steuerelemente, die über eine direkte Aktivierung und möglicherweise einen aktiven UI-Zustand verfügen, rufen IOleInPlaceSite-Methoden (in der Regel alle mit Ausnahme von ContextSensitiveHelp) als Teil des Standardmäßigen OLE-In-Situ-Aktivierungsprotokolls auf.
Iadvisesink
Website
Control ruft OnDataChange auf, wenn das Steuerelement IDataObject unterstützt, OnViewChange , wenn das Steuerelement IViewObject2 unterstützt, und OnClose, OnSave und OnRename , wenn das Steuerelement IOleObject unterstützt.
IOleControlSite
Website
Wenn dies unterstützt wird, ruft das Steuerelement OnControlInfoChanged bei mnemonics-Änderung, LockInPlaceActive und TransformCoords auf, wenn Ereignisse ausgelöst werden (die letztere Methode wird nur verwendet, wenn Koordinaten als Ereignisargumente übergeben werden), OnFocus und TranslateAccelerator , wenn das Steuerelement einen aktiven Benutzeroberflächenstatus aufweist, und GetExtendedControl , wenn das Steuerelement eigenschaften des erweiterten Steuerelements (Containerbesitz) untersuchen möchte.
IDispatch (Umgebungseigenschaften)
Website
Wird für den Zugriff auf Umgebungseigenschaften verwendet.
Ipropertynotifysink
Varies
Ein Steuerelement muss OnChanged und OnRequestEdit für alle Steuerelementeigenschaften generieren, die als [bindbar] bzw. [request] gekennzeichnet sind.
Andere Ereignissenkenschnittstellen
Varies
Ein Steuerelement, das über andere ausgehende Schnittstellen als IPropertyNotifySink verfügt, wird anderen Schnittstellenzeigern der richtigen IID an die IConnectionPoint::Advise-Implementierungen des Steuerelements übergeben (die sich normalerweise in Unterobjekten des Steuerelements befinden). Ein Steuerelement weiß immer, wie es seine eigenen Ereignisschnittstellen aufruft, da das Steuerelement diese Schnittstellen definiert.
IOleInPlaceFrame
Frame
Wird verwendet, wenn ein Steuerelement über einen aktiven Zustand der direkten Benutzeroberfläche verfügt, der Tools auf Frameebene oder Menüelemente erfordert.
IOleInPlaceUIWindow
Dokument
Wird nur verwendet, wenn ein Steuerelement über einen aktiven Zustand der direkten Benutzeroberfläche verfügt, der Ui-Tools auf Dokument- oder Bereichsebene erfordert. Dieser Fall ist selten.

Steuerelemente