Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A vezérlő és az ügyfél közötti kommunikáció egyéb mechanizmusai mellett az ActiveX vezérlőtechnológiája meghatározza az IOleControl és IOleControlSite interfészeket az ügyfélvezérlési kommunikációhoz. A ISimpleFrameSite felület is elérhető az egyszerű vezérlőtárolókhoz.
Ez a három felület azonban a vezérlőkre jellemző, és általában nem hasznos a vezérlők környezetén kívül. Ezek az interfészek a következőképpen vannak definiálva.
interface IOleControl : IUnknown
{
HRESULT GetControlInfo([out] CONTROLINFO *pCI);
HRESULT OnMnemonic([in] LPMSG pMsg);
HRESULT OnAmbientPropertyChange([in] DISPID dispID);
HRESULT FreezeEvents([in] BOOL bFreeze);
}
interface IOleControlSite : IUnknown
{
HRESULT OnControlInfoChanged(void);
HRESULT LockInPlaceActive([in] BOOL fLock);
HRESULT GetExtendedControl([out] IDispatch **ppDisp);
HRESULT TransformCoords([in-out] POINTL *pptlHimetric, [in-out] POINTF *pptfContainer, [in] DWORD dwFlags);
HRESULT TranslateAccelerator([in] LPMSG pMsg, [in] DWORD grfModifiers);
HRESULT OnFocus([in] BOOL fGotFocus);
HRESULT ShowPropertyFrame(void);
}
interface ISimpleFrameSite : IUnknown
{
HRESULT PreMessageFilter([in] HWND hWnd, [in] UINT msg, [in] WPARAM wp, [in] LPARAM lp,
[out] LRESULT *plResult, [out] DWORD *pdwCookie);
HRESULT PostMessageFilter([in] HWND hWnd, [in] UINT msg, [in] WPARAM wp, [in] LPARAM lp,
[out] LRESULT *plResult, [in] DWORD dwCookie);
}
Egyes vezérlők, például a csoportmezők, csupán más vezérlők egyszerű tárolói. Ilyen esetekben az egyszerű vezérlőnek, az úgynevezett egyszerű keretnek nem kell implementálnia az összes tárolókövetelményt. A legtöbb felületi hívást delegálhatja a benne található vezérlőkből az egyszerű keretet kezelő tárolóba. A felületi hívások mellett az egyszerű keretnek olyan Windows-üzenetekkel is foglalkoznia kell, amelyek esetleg a benne lévő vezérlőkből származnak. Ezért egy tároló ISimpleFrameSite biztosít, hogy az ilyen egyszerű keretvezérlők üzeneteket adjanak át a tárolónak. PreMessageFilter először feldolgozza az üzenetet; PostMessageFilter az egyszerű keret feldolgozása után lesz meghívva.
Kapcsolódó témakörök