Аннотация
Элемент управления ActiveX должен реализовывать интерфейс IProvideClassInfo или IProvideClassInfo2 для обработки событий на веб-странице. Microsoft Internet Explorer использует этот интерфейс для получения библиотеки типов для элемента управления и определить набор доступных событий.
Дополнительная информация
Используя язык сценариев, как VBScript и JavaScript, автор веб-страницы может использовать автоматизацию для вызова методов или свойств и обрабатывать события для элемента управления ActiveX, помещаются на страницу с помощью тега HTML < OBJECT >. Для элемента управления ActiveX для поддержки таких событий он должен реализовать интерфейс IProvideClassInfo или IProvideClassInfo2. Internet Explorer запрашивает элемент управления для этих интерфейсов и если реализован, вызывается метод GetClassInfo() для получения библиотеки типов для элемента управления. Internet Explorer первоначально запрос к элементу управления для IProvideClassInfo2 и, если этот метод не реализован, затем будет запрашивать IProvideClassInfo.The IProvideClassInfo2 интерфейс является производным от IProvideClassInfo и предоставляет дополнительный метод, GetGUID() , который возвращает объект исходящие идентификатор интерфейса по умолчанию набор событий. Для элементов управления ActiveX, разработанных с помощью классов MFC по умолчанию реализуется интерфейс IProvideClassInfo2. Для элементов управления ActiveX, разработанные с помощью Microsoft Visual Basic интерфейс IProvideClassInfo реализуется по умолчанию. При использовании Microsoft Active Template Library (ATL), версия 3.0, следующие объекты ATL «упрощенный доступ» не реализует интерфейс IProvideClassInfo2 по умолчанию:
-
Простой объект
-
Internet Explorer объекта
-
Lite управления
-
Lite составной элемент управления
-
Lite HTML-элемент управления
Можно легко добавить поддержку для обработки путем реализации интерфейса IProvideClassInfo событий. Это делается путем наследования от реализации библиотеки ATL по умолчанию, IProvideClassInfo2Impl элемент управления.
-
Список наследования класса добавьте следующую строку:
public IProvideClassInfo2Impl<&CLSID_<object_name>, NULL, &LIBID_<project_name>Lib>
-
Добавьте следующие строки к COM_MAP:
COM_INTERFACE_ENTRY(IProvideClassInfo) COM_INTERFACE_ENTRY(IProvideClassInfo2)
Ссылки
Дополнительные сведения о реализации элементов управления ActiveX и библиотеки ATL обратитесь к документации в Интернете Microsoft Visual C++. Дополнительные сведения о разработке веб-приложений для Microsoft Internet Explorer, посетите следующие веб-узлы корпорации Майкрософт:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) Корпорация Майкрософт, 1999, все права защищены. Взносы в знак Владислав, корпорация Майкрософт.