MFC – ovládací prvky ActiveX: Přidání vlastních metod
Vlastní metody se liší od kmenových metody, že již nejsou implementována tak, že COleControl.Je třeba zadat provedení pro každou vlastní metodu, které přidáte do ovládacího prvku.
Jako uživatel ovládací prvek ActiveX může volat metodu vlastní kdykoli provádět akce specifické pro ovládací prvek.Odeslání položku mapy pro vlastní metody je ve formuláři DISP_FUNCTION.
Přidání vlastní metody se Průvodce přidání metody
Následující postup ukazuje přidání vlastní metodu PtInCircle kostru kódu ovládacího prvku ActiveX.PtInCircle Určuje, zda jsou souřadnice, které jsou předány do ovládacího prvku uvnitř nebo vně kruhu.Stejným postupem lze také přidat další vlastní metody.Nahraďte název vlastní metody a její parametry pro název metody PtInCircle a parametry.
[!POZNÁMKA]
V tomto příkladu InCircle funkce z článku události.Další informace o této funkci naleznete v článku ovládací prvky MFC ActiveX: Přidání vlastní události pro ovládací prvek ActiveX.
Chcete-li přidat vlastní metodu PtInCircle pomocí Průvodce přidáním metody
Načtěte ovládací prvek projektu.
V zobrazení tříd rozbalte uzel knihovny ovládacího prvku.
Klepněte pravým tlačítkem na uzel rozhraní pro ovládací prvek (druhý uzel uzlu knihovny) a místní nabídce.
V místní nabídce klepněte na příkaz Přidat a potom klepněte na tlačítko Přidat metodu.
Otevře se Průvodce přidáním metody.
V Název metody zadejte PtInCircle.
V Interní název zadejte název metody vnitřní funkce nebo použijte výchozí hodnotu (v tomto případě PtInCircle).
V Návratový typ klepněte na tlačítko VARIANT_BOOL pro návratový typ metody.
Použití Typ parametru a Název parametru prvky, přidat parametr nazývá xCoord (typ OLE_XPOS_PIXELS).
Použití Typ parametru a Název parametru prvky, přidat parametr nazývá yCoord (typ OLE_YPOS_PIXELS).
Klepněte na tlačítko Dokončit.
Přidat metodu změny Průvodce pro vlastní metody
Pokud přidáte vlastní metody, Průvodce přidáním metody změní některé záhlaví třídy control (.H) a zavádění (.Soubory CPP).Následující řádek je přidán do celního prohlášení k odeslání mapy v záhlaví třídy control (.H) soubor:
VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
Tento kód deklaruje obslužnou rutinu pro metodu odeslání nazývá PtInCircle.Tato funkce může být volána uživatelem ovládacího prvku pomocí externí název PtInCircle.
Následující řádek je přidán do ovládacího prvku.Soubor IDL:
[id(1), helpstring("method PtInCircle")] VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
Tento řádek přiřadí metodu PtInCircle zvláštní číslo ID metody polohy v seznamu Průvodce přidáním metody metody a vlastnosti.Protože byl průvodce Add Method Wizard lze přidat vlastní metodu, na položku byl automaticky přidán do projektu.Soubor IDL.
Navíc následující řádek nachází v provedení (.Soubor CPP) třídy ovládacího prvku je přidán do mapy odesílaní ovládacího prvku:
DISP_FUNCTION_ID(CMyAxUICtrl, "PtInCircle", dispidPtInCircle, PtInCircle, VT_BOOL, VTS_XPOS_PIXELS VTS_YPOS_PIXELS)
DISP_FUNCTION Makro mapuje funkce obslužné rutiny ovládacího prvku, metodu PtInCircle PtInCircle, deklaruje jako návratový typ VARIANT_BOOLa dva parametry typu prohlašuje VTS_XPOS_PIXELS a VTS_YPOSPIXELS má být předán PtInCircle.
Nakonec Průvodce přidáním metody přidá funkci se zakázaným inzerováním CSampleCtrl::PtInCircle k dolní části implementace ovládacího prvku (.Soubor CPP).Pro PtInCircle fungovat, jak bylo uvedeno dříve, je nutné upravit takto:
VARIANT_BOOL CMyAxUICtrl::PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CPoint point(xCoord, yCoord);
return InCircle(point);
}
Viz také
Referenční dokumentace
Ikony zobrazení třídy a prohlížeče objektů