Поделиться через


Вызов кода на языке C++ из DHTML

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

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

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

Объявление методов WebBrowser в файле заголовка

Чтобы вызвать методы C++ из пользовательского интерфейса DHTML, необходимо добавить методы в интерфейс пользовательского интерфейса элемента управления. Например, файл заголовка, созданный мастером управления ATL, содержит метод OnClickC++, который является членом интерфейса пользовательского интерфейса созданного мастером элемента управления.

Проверьте OnClick в H-файле элемента управления:

STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)

Первый параметр pdispBody — это указатель на интерфейс диспетчера объекта тела. Второй параметр varColor определяет цвет, применяемый к элементу управления.

Вызов кода C++ в HTML-файле

После объявления методов WebBrowser в файле заголовка можно вызвать методы из HTML-файла. Обратите внимание на HTML-файл, что мастер управления ATL вставляет три метода отправки Windows: три OnClick метода, которые отправляют сообщения для изменения цвета фона элемента управления.

Изучите один из методов в HTML-файле:

<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>

В приведенном выше коде HTML внешний метод OnClickокна вызывается как часть тега кнопки. Метод имеет два параметра: theBodyкоторый ссылается на текст HTML-документа и "red"указывает, что цвет фона элемента управления будет изменен на красный при нажатии кнопки. Ниже Red приведен тег метки кнопки.

Дополнительные сведения о предоставлении собственных методов см. в разделе "Изменение элемента управления DHTML ATL". Дополнительные сведения о HTML-файле см. в разделе "Идентификация элементов проекта элемента управления DHTML".

См. также

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