Podsumowanie
Formant ActiveX musi implementować interfejs IProvideClassInfo lub IProvideClassInfo2, aby włączyć obsługę zdarzeń na stronie sieci Web. Program Microsoft Internet Explorer używa tego interfejsu w celu uzyskania biblioteki typów dla formantu i określić zestaw dostępnych zdarzeń.
Więcej informacji
Język skryptów, takich jak VBScript lub JavaScript, autor strony sieci Web przy użyciu automatyzacji do wywołania metody, właściwości i obsługi zdarzeń dla formantu ActiveX, umieszczonego na stronie z tagu HTML < OBJECT >. Dla formantu ActiveX do obsługi takiej obsługi zdarzeń musi implementować interfejs IProvideClassInfo lub IProvideClassInfo2. Program Internet Explorer bada kontroli tych interfejsów i jeśli zaimplementowana, wywołuje metodę GetClassInfo() w celu uzyskania biblioteki typów dla formantu. Program Internet Explorer będzie początkowo zapytanie kontroli IProvideClassInfo2 i, jeśli nie zostanie zaimplementowana, następnie wyśle zapytanie IProvideClassInfo.The IProvideClassInfo2 interfejsu jest pochodną IProvideClassInfo i zapewnia dodatkowe metody, GetGUID() , która zwraca obiekt wychodzący identyfikator interfejsu dla jego domyślnego zestawu zdarzeń. W przypadku formantów ActiveX opracowanych przy użyciu programu Microsoft Foundation Classes IProvideClassInfo2 interfejsu jest implementowana przez domyślny. W przypadku formantów ActiveX opracowanych przy użyciu programu Microsoft Visual Basic IProvideClassInfo interfejsu jest implementowana przez domyślny. Podczas korzystania z programu Microsoft Active Template Library (ATL), wersja 3.0, następujące obiekty ATL "kontrola lite" nie implementuje interfejsu IProvideClassInfo2 domyślnie:
-
Prosty obiekt
-
Internet Explorer obiektu
-
Formant Lite
-
Formant złożony Lite
-
Lite formant HTML
Można łatwo dodać obsługę zdarzeń obsługi za pomocą implementacji interfejsów IProvideClassInfo. Polega to na wynikające z formantu Domyślna implementacja ATL IProvideClassInfo2Impl.
-
Dodaj następujący wiersz do listy wyprowadzenie klasy:
public IProvideClassInfo2Impl<&CLSID_<object_name>, NULL, &LIBID_<project_name>Lib>
-
Dodaj następujące wiersze do Twojego COM_MAP:
COM_INTERFACE_ENTRY(IProvideClassInfo) COM_INTERFACE_ENTRY(IProvideClassInfo2)
Informacje
Aby uzyskać więcej informacji na temat biblioteki Active Template Library i wykonawczych formantów ActiveX zapoznaj się z dokumentacją programu Microsoft Visual C++ Online. Aby uzyskać więcej informacji dotyczących projektowania rozwiązań opartych na sieci Web dla programu Microsoft Internet Explorer, odwiedź następujące witryny firmy Microsoft w sieci Web:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) 1999 Microsoft Corporation Wszelkie prawa zastrzeżone. Składek przez Mark Davis, firma Microsoft Corporation.