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


Modifying the ATL DHTML Control

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

Изменить элемент управления DHTML библиотеки ATL

  1. В представлении классов разверните проект элемента управления.

    Обратите внимание, что интерфейс, который заканчивается на "пользовательском интерфейсе" имеет один метод, OnClick. Интерфейс, который не заканчивается на "пользовательском интерфейсе" не имеет никаких методов.

  2. Добавьте метод, вызванный MethodInvoked к интерфейсу, который не заканчивается на "пользовательском интерфейсе."

    Этот метод будет добавлен к интерфейсу, который используется в контейнере элемента управления для совместной работы контейнера, а не к интерфейсу, используемому DHTML для взаимодействия с элементом управления. Только контейнер может вызвать этот метод.

  3. Найдите заштырить - вне метода в cpp-файле, и добавьте код для отображения окна сообщения, например:

    ::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
    
  4. Добавьте еще один метод с именем HelloHTML, но это время, добавляет его к интерфейсу, который заканчивается на "пользовательском интерфейсе." Найдите заштырить - out - метод HelloHTML в cpp-файле, и добавьте код для отображения окна сообщения, например:

    ::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
    
  5. Добавьте третий метод, GoToURL, на интерфейс, который не заканчивается на "пользовательском интерфейсе." Этот метод реализуется путем вызова IWebBrowser2::Navigate следующим образом:

    m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);
    

    Можно использовать методы IWebBrowser2 поскольку библиотека ATL предоставляет указатель этот интерфейс в файле .h.

Далее измените ресурс HTML для вызова методов создания. Добавляется 3 кнопки для вызова этих методов.

Изменять ресурс HTML

  1. В обозревателе решений дважды щелкните файл .htm, чтобы отобразить ресурса HTML.

    Просмотрите HTML, особенно вызовов внешних методам диспетчера Windows. HTML вызывает метод OnClick проекта и параметры отображает текст элемента управления (theBody) и цвет к присвоить red(" "). Текст следует за вызовом метода метку, которая отображается на кнопку.

  2. Добавьте еще один метод OnClick только изменение цвета. Примеры.

    <br>
    <br>
    <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
    

    Этот метод создает кнопку, Обновить, которое пользователь может щелкнуть, чтобы вернуть элемент управления к фону первоначально белому.

  3. Добавьте вызов метода HelloHTML создания. Примеры.

    <br>
    <br>
    <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>
    

    Этот метод создает кнопку, HelloHTML, которое пользователь может щелкнуть для отображения в окне сообщения HelloHTML.

Теперь можно выполнить построение и проверьте измененный элемент управления DHTML.

См. также

Другие ресурсы

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