Определение элементов для проекта элемента управления DHTML

Большинство кода элемента управления DHTML точно так же, как и для любого элемента управления ATL. Чтобы получить базовое представление об универсальном коде, ознакомьтесь с руководством по ATL и ознакомьтесь с разделами о создании проекта ATL и основах com-объектов ATL.

Элемент управления DHTML аналогичен любому элементу управления ATL, кроме:

  • Помимо обычных интерфейсов, реализующих элемент управления, он реализует дополнительный интерфейс, используемый для обмена данными между кодом C++ и пользовательским интерфейсом HTML. Пользовательский интерфейс HTML вызывает код C++ с помощью этого интерфейса.

  • Он создает HTML-ресурс для пользовательского интерфейса элемента управления.

  • Он позволяет получить доступ к объектной модели DHTML через переменную-член m_spBrowser, которая является умным указателем типа IWebBrowser2. Используйте этот указатель для доступа к любой части объектной модели DHTML.

На следующем рисунке показана связь между библиотекой DLL, элементом управления DHTML, веб-браузером и ресурсом HTML.

Diagram of the elements of a DHTML control project.

Примечание.

Имена на этом рисунке являются заполнителями. Имена html-ресурса и интерфейсов, предоставляемых в элементе управления, основаны на именах, назначенных им в мастере управления ATL.

На этом рисунке элементы:

  • Библиотека DLL , созданная с помощью мастера проектов ATL.

  • Элемент управления DHTML (m_spBrowser) Элемент управления DHTML, созданный с помощью мастера объектов ATL. Этот элемент управления обращается к объекту веб-браузера и его методам через интерфейс объекта веб-браузера. IWebBrowser2 Сам элемент управления предоставляет следующие два интерфейса в дополнение к другим стандартным интерфейсам, необходимым для элемента управления.

    • IDHCTL1 Интерфейс, предоставляемый элементом управления для использования только контейнером.

    • IDHCTLUI1 Интерфейс отправки для обмена данными между кодом C++ и пользовательским интерфейсом HTML. В веб-браузере для отображения элемента управления используется интерфейс диспетчера элемента управления. Можно вызвать различные методы этого интерфейса диспетчера из пользовательского интерфейса элемента управления, вызвав window.externalимя метода в этом интерфейсе диспетчера, который требуется вызвать. Вы будете получать доступ window.external из тега SCRIPT в HTML, который состоит из пользовательского интерфейса для этого элемента управления. Дополнительные сведения о вызове внешних методов в файле ресурсов см. в статье "Вызов кода C++ из DHTML".

  • IDR_CTL1 Идентификатор ресурса HTML. Его имя файла в данном случае — DHCTL1UI.htm. Элемент управления DHTML использует html-ресурс, содержащий стандартные HTML-теги и команды отправки внешнего окна, которые можно изменить с помощью текстового редактора.

  • Веб-браузер Веб-браузер отображает пользовательский интерфейс элемента управления на основе HTML-ресурса. Указатель на интерфейс веб-браузера IWebBrowser2 доступен в элементе управления DHTML, чтобы разрешить доступ к объектной модели DHTML.

Мастер управления ATL создает элемент управления с кодом по умолчанию как в HTML-ресурсе, так и в CPP-файле. Вы можете скомпилировать и запустить элемент управления, созданный мастером, а затем просмотреть элемент управления в веб-браузере или контейнере тестов activeX. На рисунке ниже показан элемент управления ATL DHTML по умолчанию с тремя кнопками, отображаемыми в тестовом контейнере:

ATL DHTML control.

См. статью "Создание элемента управления DHTML ATL", чтобы приступить к созданию элемента управления DHTML. Сведения о доступе к тестовой контейнере см. в разделе "Свойства и события тестирования" с помощью тестового контейнера .

См. также

Поддержка элемента управления DHTML