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


Размещение элемента управления на веб-странице (учебник ATL, часть 7)

Элемент управления завершен. Чтобы посмотреть, как элемент управления работает в реальной ситуации, поместите его на веб-страницу. HTML-файл, содержащий элемент управления, был создан при определении этого элемента управления. Откройте файл PolyCtl.htm с В обозревателе решений, можно просмотреть элемент управления на странице.

На этом шаге вам предстоит добавить на веб-страницу скрипт для реагирования на события. Будет также изменен элемент управления, что позволит Internet Explorer знать, что элемент управления безопасен для скриптов.

Создание скриптов для веб-страницы

Элемент управления не дает результата, поэтому изменение веб-страницы для реагирования на события, которые необходимо отправить.

Создание скриптов для веб-страницы

  1. Откройте PolyCtl.htm и выберите представление HTML. Добавьте следующие строки к HTML-коду. Они должны быть добавлены после </OBJECT>, но перед </BODY>.

    <SCRIPT LANGUAGE="VBScript">
    <!--
    Sub PolyCtl_ClickIn(x, y)
       PolyCtl.Sides = PolyCtl.Sides + 1
    End Sub
    Sub PolyCtl_ClickOut(x, y)
       PolyCtl.Sides = PolyCtl.Sides - 1
    End Sub
    -->
    </SCRIPT>
    
  2. Сохраните HTM-файл.

Вы добавили некоторый код VBScript, который получает от элемента управления свойство Sides и при щелчке мышью внутри элемента управления увеличивает число сторон на единицу. Если щелкнуть за пределами элемента управления, число его сторон уменьшится на одну.

Указание того, что элемент управления безопасен для скриптов

Можно просмотреть веб-страницу с элементом управления в Internet Explorer или (что удобнее) использовать представление веб-браузера, встроенное в Visual C++. Чтобы просмотреть элемент управления в представлении веб-браузера, щелкните файл PolyCtl.htm правой кнопкой мыши и выберите команду Просмотреть в браузере.

В зависимости от текущих параметров безопасности Internet Explorer может появиться диалоговое окно предупреждения безопасности с сообщением о том, что элемент управления может быть небезопасным для скрипта и потенциально способен нанести ущерб. Например, если бы у вас был элемент управления, который отображает файл, но также был метод Delete, который удалял файл, было бы безопасно просто просматривать его на странице. Будет небезопасно создавать скрипт, потому что кто-нибудь может вызвать метод Delete.

Примечание о безопасностиПримечание по безопасности

В данном руководстве можно изменить параметры безопасности в Internet Explorer, чтобы запускать элементы управления ActiveX, которые не помечены как безопасные.На панели управления щелкните Свойства Интернета и нажмите кнопку Безопасность, чтобы изменить соответствующие параметры.После завершения изучения учебника восстановите исходное состояние параметров безопасности.

Можно программно уведомить Internet Explorer, что не требуется отображать диалоговое окно предупреждения безопасности для данного элемента управления. Это можно сделать с помощью интерфейса IObjectSafety, а ATL предоставляет реализацию этого интерфейса в классе IObjectSafetyImpl. Чтобы добавить интерфейс в элемент управления, добавьте IObjectSafetyImpl в список унаследованных классов, затем добавьте запись для него в сопоставление модели COM.

Добавление IObjectSafetyImpl в элемент управления

  1. Добавьте следующую строку в конец списка наследуемых классов в PolyCtl.h и добавьте запятую в предыдущей строке:

    public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
    
  2. Добавьте следующую строку в сопоставление COM в PolyCtl.h:

    COM_INTERFACE_ENTRY(IObjectSafety)
    

Сборка и тестирование элемента управления

Сборка элемента управления. После окончания сборки откройте PolyCtl.htm в представлении браузера. На этот раз страница должна отображаться непосредственно без диалогового окна предупреждения безопасности. Щелкните в пределах полигона, число его сторон увеличится на единицу. Щелкните за пределами полигона, чтобы уменьшить число его сторон. При попытке уменьшить число сторон так, чтобы оно было меньше трех, появится заданное вами сообщение об ошибке.

Назад к шагу 6

Следующие действия

На этом шаге работа с учебником ATL завершается. Ссылки на дополнительные сведения об ATL см. в разделе Начальная страница ATL.

См. также

Ссылки

Учебник по активной библиотеке шаблонных классов (ATL)