Для любого элемента управления ATL точно как это создается большинство код управления DHTML. Для базового понимания общего кода, работают через учебника ATLи прочитайте разделы Создание проекта ATL и Основы ATL COM-объектов.
Элемент управления DHTML похож на любой элемент управления ATL, за исключением:
В дополнение к регулярному интерфейсов, которые реализует элемент управления он реализует дополнительный интерфейс, который используется для связи между C++ кода и HTML Пользовательский интерфейс (UI). Пользовательский интерфейс HTML вызывает C++ с помощью этого интерфейса.
Он создает ресурс HTML для элемента управления пользовательского Интерфейса.
Это позволяет получить доступ к объектной модели DHTML через переменную-член m_spBrowser , который представляет собой смарт-указатель типа IWebBrowser2. Использовать этот указатель для доступа к любой части объектной модели DHTML.
Рассмотрение элементов проекта управления DHTML
На следующем рисунке показана связь между библиотекой DLL, элемент управления DHTML, веб-браузер и HTML ресурс.
Примечание Имена на этот графический являются заполнителями. Имена HTML ресурса и интерфейсов, предоставляемых на элемент управления основаны на имена, которые их назначения в мастере объектов ATL.
На этом рисунке являются элементы:
My DLL DLL, созданные с помощью AppWizard.
Элемент управления DHTML ( m_spBrowser ) Элемент управления DHTML, созданные с помощью мастера объектов ATL. Этот элемент управления получает доступ к Web-браузера объект и его методы через интерфейс Web-браузера объект, IWebBrowser2. Сам элемент управления предоставляет следующие два интерфейса, в дополнение к другим стандартные интерфейсы, необходимые для элемента управления.
IDHCTL1 Интерфейс управления для использования только в контейнере.
IDHCTLUI1 Интерфейс диспетчера для связи между C++ код и пользовательский интерфейс HTML. Веб-обозреватель использует интерфейс диспетчера элемента управления для отображения элемента управления. Различные методы данного интерфейса диспетчеризации можно вызывать из пользовательского интерфейса элемента управления путем вызова window.external , а затем имя метода на этот интерфейс диспетчера, который вы хотите вызвать. Вы обращаетесь к window.external от тега СЦЕНАРИЯ в HTML, что делает интерфейс пользователя для данного элемента управления. Дополнительные сведения о вызове внешних методов в файле ресурсов содержится вызов C++ от DHTML.
IDR_CTL1 Идентификатор ресурса HTML ресурса. Имя файла, в данном случае — DHCTL1UI.htm. Элемент управления DHTML использует HTML ресурс, который содержит стандартные теги HTML и внешнее окно отправки команды, которые можно редактировать с помощью текстового редактора.
Веб-браузер Веб-браузер отображает пользовательский интерфейс элемента управления, основанный на HTML в ресурсе HTML. Указатель на интерфейс IWebBrowser2 веб-браузер доступен в элемент управления DHTML чтобы разрешить доступ к объектной модели DHTML.
Мастер объектов ATL создает элемент управления с кода по умолчанию в HTML ресурсов и CPP-файл. Можно скомпилировать и запустить элемент управления, как он создается с помощью мастера и затем просмотреть элемент управления в тестовом контейнере или веб-браузера. На рисунке ниже показаны по умолчанию элемент управления ATL DHTML с тремя кнопками, отображается в тестовом контейнере: