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


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

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

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

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

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

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

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

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

    ::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
    
  4. Добавьте еще один метод, называемый HelloHTMLтолько на этот раз, добавьте его в интерфейс, который заканчивается в пользовательском интерфейсе. Найдите метод stubbed-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-ресурс, чтобы вызвать созданные методы. Вы добавите три кнопки для вызова этих методов.

Изменение 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