Shrnutí
Ovládací prvek ActiveX musí implementovat rozhraní IProvideClassInfo nebo IProvideClassInfo2 povolení zpracování události na webové stránce. Aplikace Microsoft Internet Explorer používá toto rozhraní získat typ knihovny pro ovládací prvek a určení sady dostupné události.
Další informace
Skriptovací jazyk, jako je například VBScript nebo JavaScript, Autor webové stránky pomocí automatizace k vyvolání metody/vlastnosti a zpracování události pro ovládací prvek ActiveX, který je umístěn na stránce pomocí značky jazyka HTML < OBJECT >. Pro ovládací prvek ActiveX pro podporu zpracování těchto událostí musí implementovat rozhraní IProvideClassInfo nebo IProvideClassInfo2. Aplikace Internet Explorer zjistí tato rozhraní ovládacího prvku a pokud implementována, volá metodu GetClassInfo() získat typ knihovny pro ovládací prvek. Aplikace Internet Explorer nejprve dotaz ovládací prvek pro IProvideClassInfo2 a pokud to není implementována, bude potom dotaz na IProvideClassInfo.The IProvideClassInfo2 rozhraní je odvozen z IProvideClassInfo a poskytuje další metody, GetGUID() , která vrací objekt je odchozí ID rozhraní pro jeho výchozí sada událostí. Pro ovládací prvky ActiveX vyvinuty pomocí Microsoft Foundation Classes je ve výchozím nastavení implementováno rozhraní IProvideClassInfo2. Pro ovládací prvky ActiveX vyvinuty pomocí Microsoft Visual Basic je ve výchozím nastavení implementováno rozhraní IProvideClassInfo. Při použití Microsoft ATL Active Template Library (), verze 3.0, následující objekty knihovny ATL "lite kontrola" implementováno rozhraní IProvideClassInfo2 ve výchozím nastavení:
-
Jednoduchý objekt
-
Internet Explorer objektu
-
Lite ovládací prvek
-
Lite složený ovládací prvek
-
Lite ovládací prvek HTML
Můžete snadno přidat podporu pro zpracování implementací rozhraní IProvideClassInfo událostí. Důvodem je ovládací prvek odvozené z výchozí implementace ATL IProvideClassInfo2Impl.
-
Přidejte následující řádek do seznamu odvození třídy:
public IProvideClassInfo2Impl<&CLSID_<object_name>, NULL, &LIBID_<project_name>Lib>
-
Vaše COM_MAP přidejte následující řádky:
COM_INTERFACE_ENTRY(IProvideClassInfo) COM_INTERFACE_ENTRY(IProvideClassInfo2)
Odkazy
Další informace o Active Template Library a prováděcích ovládacích prvků ActiveX naleznete v dokumentaci Microsoft Visual C++ Online. Další informace o vývoji řešení založených na webu pro aplikaci Microsoft Internet Explorer naleznete na následujících webech společnosti Microsoft:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) 1999 Microsoft Corporation, všechna práva vyhrazena. Příspěvky označit Davis, Microsoft Corporation.