Verwenden der Funktionalität des Containers

In den vorherigen Abschnitten wurden einige der erforderlichen aufruferseitigen Unterstützungen beschrieben, die ein ActiveX-Steuerelement aufweisen muss, um auf bestimmte Features seines Containers zugreifen zu können. In der folgenden Tabelle wird die Verwendung containerseitiger Schnittstellen durch ein Steuerelement und deren Verwendung beschrieben.

Schnittstelle Containerobjekt Verbrauch
IOleClientSite
Website
Steuerelemente, die IOleObject implementieren, rufen IOleClientSite-Methoden als Teil des standardmäßigen OLE-Einbettungsprotokolls auf, insbesondere die Methoden SaveObject, ShowObject, OnShowWindow (nur, wenn ein Aktivierungszustand mit separatem Fenster unterstützt wird), RequestNewObjectLayoutund GetContainer (wenn die 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 markiert.
IOleInPlaceSite
Website
Steuerelemente, die über eine aktive Aktivierungs- und ggf. einen aktiven Zustand der Benutzeroberfläche verfügen, rufen IOleInPlaceSite-Methoden (im Allgemeinen alle mit Ausnahme von ContextSensitiveHelp)als Teil des standardmäßigen ole-Aktivierungsprotokolls auf.
Iadvisesink
Website
Das Steuerelement ruft OnDataChange auf, wenn das Steuerelement IDataObject, OnViewChange, wenn das Steuerelement IViewObject2unterstützt, und OnClose, OnSaveund OnRename unterstützt, wenn das Steuerelement IOleObjectunterstützt.
IOleControlSite
Website
Falls unterstützt, ruft die Steuerung OnControlInfoChanged auf, wenn sich mnemonics ändert, LockInPlaceActive und TransformCoords, wenn Ereignisse ausgelöst werden (letztere Methode wird nur verwendet, wenn Koordinaten als Ereignisargumente übergeben werden), OnFocus und TranslateAccelerator, wenn das Steuerelement über einen aktiven Zustand der Benutzeroberfläche verfügt, und GetExtendedControl, wenn das Steuerelement erweiterte Steuerelementeigenschaften (containereigen) anzeigen möchte.
IDispatch (Umgebungseigenschaften)
Website
Wird verwendet, um auf Umgebungseigenschaften zuzugreifen.
Ipropertynotifysink
Varies
Ein Steuerelement muss OnChanged und OnRequestEdit für alle Steuerelementeigenschaften generieren, die als bindbar gekennzeichnet sind, [ ] [ bzw. anfordern. ]
Andere Schnittstellen der Ereignissenke
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 seine eigenen Ereignisschnittstellen aufgerufen werden, da das Steuerelement diese Schnittstellen definiert.
IOleInPlaceFrame
Frame
Wird verwendet, wenn ein Steuerelement über einen aktiven Zustand der 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 benutzeroberfläche verfügt, der Benutzeroberflächentools auf Dokument- oder Bereichsebene erfordert. Dieser Fall ist selten.

Steuerelemente