MFC – ovládací prvky ActiveX: Metody
Ovládací prvek ActiveX je událostí pro komunikaci mezi ním a jeho kontejneru ovládacího prvku.Kontejner může také komunikovat s ovládací prvek pomocí metody a vlastnosti.Metody se také nazývají funkce.
Metody a vlastnosti poskytují exportovaných rozhraní pro použití jinými aplikacemi, například klientům automatizace a kontejnerech ovládacího prvku ActiveX.Další informace o vlastnosti ovládacího prvku ActiveX naleznete v článku ovládací prvky MFC ActiveX: vlastnosti.
Metody jsou podobné použití a účelu členské funkce třídy jazyka C++.Existují dva typy ovládacího prvku lze implementovat metody: zásob a vlastních.Podobné události zásob, zásob metody jsou tyto metody pro kterou COleControl poskytuje implementaci.Další informace o metodách akcií naleznete v článku ovládací prvky MFC ActiveX: Přidání uložených metod.Vlastní metody, definované vývojářem, umožňují další vlastní nastavení ovládacího prvku.Další informace naleznete v článku ovládací prvky MFC ActiveX: Přidání vlastní metody.
Microsoft Foundation Class Library (MFC) implementuje mechanismus, který umožňuje ovládacímu prvku podporu zásob a vlastních metod.První část je třída COleControl.Odvozené z CWnd, COleControl členské funkce podporují kmenových metody, které jsou společné pro všechny ovládací prvky ActiveX.Druhá část tohoto mechanismu je odeslání mapy.Odeslání mapy je podobný mapu zpráv; však namísto mapování funkce Windows ID zprávy, odeslání mapy mapuje virtuální členská funkce ID rozhraní IDispatch.
Pro ovládací prvek podporuje různé metody správně musíte deklarovat svou třídu odeslání mapy.To lze provést následující řádek kódu umístěn v záhlaví třídy control (.H) soubor:
DECLARE_DISPATCH_MAP()
Hlavním účelem mapě odeslání je stanovit vztah mezi názvy metod používaných externí volajícího (např. kontejner) a členské funkce třídy ovládacího prvku, které implementují metody.Po mapě odeslání byla deklarována, je třeba definovat v implementaci ovládacího prvku (.Soubor CPP).Následující řádky kódu definovat mapě odeslání:
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
...
END_DISPATCH_MAP()
Pokud jste použili MFC ActiveX Control Wizard Chcete-li vytvořit projekt, tyto řádky byly přidány automaticky.Pokud nebyl použit Průvodce ovládacím prvkem ActiveX knihovny MFC, je nutné přidat tyto řádky ručně.
Následující články popisují metody podrobně: