Sdílet prostřednictvím


Použití funkcí kontejneru

Předchozí části popisují některé nezbytné podpory na straně volajícího, které musí mít ovládací prvek ActiveX, aby bylo možné získat přístup k určitým funkcím jeho kontejneru. Následující tabulka popisuje použití rozhraní na straně kontejneru ovládacího prvku a kdy k takovému použití dojde.

Rozhraní Objekt kontejneru Použití
IOleClientSite
Poloha
Ovládací prvky, které implementují IOleObject volání IOleClientSite metody jako součást standardního protokolu OLE embedding, konkrétně metody SaveObject, ShowObject, OnShowWindow (pouze pokud je podporován samostatný stav aktivace okna), RequestNewObjectLayouta GetContainer (pokud je požadována komunikace s jinými ovládacími prvky). Metoda GetMoniker se používá pouze v případě, že lze ovládací prvek propojit externě, tj. ovládací prvek není označený OLEMISC_CANTLINKINSIDE.
IOleInPlaceSite
Poloha
Ovládací prvky, které mají místní aktivaci a případně aktivní stav uživatelského rozhraní, budou volat IOleInPlaceSite metody (obvykle všechny s výjimkou ContextSensitiveHelp) jako součást standardního aktivačního protokolu OLE na místě.
IAdviseSink
Poloha
Ovládací prvek volá OnDataChange pokud ovládací prvek podporuje IDataObject, OnViewChange pokud ovládací prvek podporuje IViewObject2a OnClose, OnSavea OnRename, pokud ovládací prvek podporuje IOleObject.
IOleControlSite
Poloha
Pokud je to podporováno, ovládací prvek volá OnControlInfoChanged když se změní mnemoniky, LockInPlaceActive a TransformCoords pokud jsou události vyvolány (druhá metoda se používá pouze v případě, že jsou souřadnice předány jako argumenty události), OnFocus a TranslateAccelerator, pokud má ovládací prvek aktivní stav uživatelského rozhraní, a GetExtendedControl pokud se ovládací prvek chce podívat na vlastnosti rozšířeného ovládacího prvku (vlastněné kontejnerem).
IDispatch (okolní vlastnosti)
Poloha
Používá se pro přístup k okolním vlastnostem.
IPropertyNotifySink
Liší se
Ovládací prvek musí generovat OnChanged a OnRequestEdit pro všechny vlastnosti ovládacího prvku, které jsou označeny jako [bindable] a [request], v tomto pořadí.
Další rozhraní zachytávače událostí
Liší se
Ovládací prvek, který má jiná odchozí rozhraní než IPropertyNotifySink, bude předáno dalšími ukazateli rozhraní správného IID k implementaci IConnectionPoint::Advise v ovládacím prvku (které se obvykle nacházejí v dílčích objektech ovládacího prvku). Ovládací prvek vždy ví, jak volat vlastní rozhraní událostí, protože ovládací prvek definuje tato rozhraní.
IOleInPlaceFrame
Rám
Používá se, když má ovládací prvek aktivní stav místního uživatelského rozhraní, který vyžaduje nástroje na úrovni rámce nebo položky nabídky.
IOleInPlaceUIWindow
Dokument
Používá se pouze v případech, kdy má ovládací prvek aktivní stav místního uživatelského rozhraní, který vyžaduje nástroje uživatelského rozhraní na úrovni dokumentu nebo podokna. To je vzácné.

ovládacích prvků