Архитектура Microsoft Windows для разработчиков


Занятие 3. Применение управляющих элементов ActiveX

(Продолжительность занятия 30 минут)

Вы можете снабдить свою Web-страницу управляющими элементами ActiveX. Для ссылки на элемент ActiveX служит тэг <OBJECT>. Например, если Вы добавили на Web-страницу элемент Calendar, в HTML-документ будет включен тэг <OBJECT>. Это занятие посвящено преимуществам управляющих элементов ActiveX и их использованию в Web-приложениях.

 
Изучив материал этого занятия, Вы сможете:

  • перечислить преимущества применения управляющих элементов ActiveX;
  • использовать редактор реестра для выяснения идентификатора класса элемента ActiveX;
  • установить атрибут CODEBASE для элемента ActiveX;
  • узнать номер версии элемента ActiveX;
  • установить начальные значения свойств элемента ActiveX.

Преимущества элементов управления ActiveX

В числе преимуществ применения элементов управления ActiveX в Web-странице на языке HTML — расширение возможностей, повышение производительности и защита кода.

Расширение возможностей

Применение Visual Basic для создания элемента управления ActiveX предоставляет в Ваше распоряжение пользовательский интерфейс и функциональные возможности, недоступные в стандартной версии HTML.

Повышение производительности

Выполнение приложений в элементах управления, а не на Web-сервере, повышает производительность за счет уменьшения обмена с Web-сервером. Скомпилированный элемент управления ActiveX выполняется гораздо быстрее, чем сценарий или HTML-код.

Защита кода

Так как элемент управления ActiveX компилируется, его исходный код, в отличие от HTML, недоступен пользователям.

Тэг <OBJECT>

Тэг <OBJECT> используется для вставки объектов (например, элементов ActiveX) в HTML-документы. Атрибуты тэга <OBJECT> задают управляющий элемент ActiveX, его местонахождение и метод отображения на HTML-странице.

Атрибуты тэга <OBJECT>

К атрибутам тэга <OBJECT> относятся CLASSID, ID и CODEBASE, а также WIDTH, HEIGHT, ALIGN, HSPACE, VSPACE и BORDER.

CLASSID

Когда элемент управления ActiveX устанавливается на компьютер пользователя, он регистрируется в реестре посредством уникального идентификатора класса. Атрибут CLASSID, содержащий идентификатора класса, — единственный обязательный атрибут тэга <OBJECT>.

Синтаксис Вот синтаксис атрибута CLASSID:

CLASSID = "clsid:12345678-1234-1234-1234-123456789012"


Пример Ниже приведен тэг <OBJECT> для элемента управления Calendar:

<OBJECT

classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02"

>

</OBJECT>


ID

Атрибут ID позволяет обращаться к объекту из кода VBScript.

 
Пример Этот код иллюстрирует установку атрибута ID элемента управления Calendar:

<OBJECT

classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02"

id=cldCalendar2

>

</OBJECT>


CODEBASE

Атрибут CODEBASE представляет собой указатель ресурса файла, содержащего реализацию объекта.

WIDTH, HEIGHT, ALIGN, HSPACE, VSPACE и BORDER

Эти атрибуты определяют, как объект будет размещен на HTML-странице, задают его размеры и наличие рамки.

Извлечение идентификатора класса объекта

Visual InterDev и Frontpage 98 автоматически просматривают реестр в поисках идентификатора класса и записывают его в создаваемый тэг <OBJECT>. Вы можете определить ID класса элемента управления вручную, используя одно из перечисленных ниже средств.

  • Редактор реестра (RegEdit) — позволяет изменять параметры реестра Вашей системы и, в частности, просматривать и копировать значения идентификаторов класса объектов.
  • Утилита OLE Viewer (01e2View) — входит в состав Win32 Software Development Kit. Командой Copy HTML <объект> Tag to Clipboard меню Object можно скопировать тэг <OBJECT> в буфер обмена, а затем вставить его в HTML- или активную серверную страницу.

> Поиск идентификатора класса управляющего элемента Microsoft Calendar

  1. Запустите Regedit.exe.
  2. Откройте раздел HKEY_CLASSES_ROOT.
  3. В меню Edit выберите команду Find.
  4. В поле Find What наберите Calendar Control 8.0 и нажмите Find Next.

    ID класса элемента управления Calendar будет показан в левой части окна в виде открытой папки. Он будет выглядеть примерно так:

    {8E27C92B-1264-101C-8A2F-040224009C02}

  5. Закройте редактор реестра.

Создание альтернативы тэгу <OBJECT>

Программам просмотра, которые не поддерживают тэг <OBJECT>, и пользователям, не разрешившим применение элементов управления ActiveX в своих программах просмотра, следует предоставить альтернативный метод доступа к тем же функциональным возможностям. Если программа просмотра не отображает элементы управления ActiveX, она отобразит все тэги HTML, расположенные между тэгами <OBJECT> и </OBJECT>.

 
Примечание Если программа просмотра поддерживает тэг <OBJECT>, но элемент управления ActiveX не установлен, альтернативный вариант не используется — в окне программы просмотра просто будет отображен значок неработающего элемента управления.

Например, чтобы помочь пользователям программ просмотра, не поддерживающих элемент Calendar, снабдите Web-страницу текстовым полем, где пользователь введет дату.

 
Пример Вот как это сделать:

<OBJECT

classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02"

>Рекомендуется просмотр с помощью Internet Explorer 4.0.<P>

Введите дату:

<INPUT TYPE=TEXT NAME="Date" MAXLENGTH=10 SIZE=10>

</OBJECT>


Подготовка к использованию управляющих элементов ActiveX

Атрибут CODEBASE тэга <OBJECT> содержит абсолютный или относительный указатель ресурса .осх-файла элемента управления.

Установка атрибута CODEBASE

Если элемент управления ActiveX не связан ни с какими другими файлами, кроме .осх-файла, Вы можете указать местоположение .осх-файла с помощью атрибута CODEBASE.

 
Пример Этот код загружает элемент ActiveX из соответствующего .осх-файла:

<OBJECT

CLASSID="clsid:99B42120-6EC7--11CF-A6C7-OOAAOOA47DD2"

CODEBASE="http://server/control.ocx">

</OBJECT>


Если элемент управления ActiveX требует запуска дополнительных библиотек, Вы должны предоставить .cab-файл, который содержит все необходимые файлы, и .inf-файл, указывающий, как следует устанавливать каждый файл.

 
Пример Этот код загружает и устанавливает элемент управления ActiveX, обращаясь к .cab-файлу:

<OBJECT

CLASSID="clsid:99B42120-6EC7-11CF-A6C7-OOAAOOA47DD2

CODEBASE="http://server/control.cab">

</OBJECT>

Указание номера версии

Атрибут CODEBASE позволяет также указать номер версии, чтобы пользователь смог загрузить только определенную версию управляющего элемента.

 
Пример В этом коде средствами атрибута CODEBASE указывается номер версии (4.70. 1165) элемента управления типа «всплывающее меню»:

<OBJECT

CLASSID="CLSID:7823A620-9DD9-11CF-A662-OOAAOOC066D2"

CODEBASE="iemenu.ocx#Version=4,70,0,1165">


Если номер версии не указан (формат ее номера — N,N,N,N), Internet Explorer воспользуется любой из установленных на компьютере версий элемента управления. Чтобы каждый раз загружать элемент управления на компьютер пользователя, укажите номер версии -1,-1,-1,-1

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

  1. Правой кнопкой мыши щелкните файл Mscal.ocx в окне Проводника и выберите в меню пункт Properties. Этот файл должен находиться в папке \Windows\System.
  2. В диалоговом окне Properties откройте вкладку Version и выясните номер версии.

Установка начальных значений свойств

Начальные значения свойств элемента управления ActiveX определяют, как данный элемент управления отображается при загрузке HTML-страницы программой просмотра.

Чтобы задать начальные свойства объекта для управляющего элемента ActiveX, воспользуйтесь тэгами <PARAM>.

Синтаксис Тэг <PARAM> использует следующий синтаксис:

<PARAM NAME="Имя параметра" VАLUE="Значение">

Для каждого свойства применяется отдельный тэг <PARAM>.

 
Пример Ниже приведен тэг <OBJECT> элемента управления ActiveX Label, для которого заданы начальные значения свойств Angle, Alignment и Caption:

<OBJECT

classid="clsid:99B42120-6EC7-11CF-A6C7-OOAAOOA47DD2"

id=lblActiveLbl

width=250

height=250

>

<PARAM NAME="Angle" VALUE="90">

<PARAM NAME="Alignment" VALUE="2">

<PARAM NAME="Caption" VALUЕ="Привет всем!">

</OBJECT>


 


Примечание Чтобы выяснить имена и допустимые значения свойств объекта, обратитесь к справке по объекту или воспользуйтесь средством просмотра объектов (Object Browser) Microsoft Visual Basic.

> Просмотр объекта Form с помощью Object Browser

  1. Запустите Visual Basic.
  2. Создайте новый проект типа Standard EXE.
  3. Нажмите F2, чтобы открыть окно просмотра объектов.
  4. В списке Project/Library выберите Project1.
  5. В списке Classes выберите Forml.
  6. В области Member of Forml прокрутите список свойств, методов и других объектов, доступных объекту Forml.

    По мере добавления элементов управления в форму Forml каждый объект добавляется в список членов формы.

  7. Закройте Visual Basic.

Резюме

Управляющий элемент ActiveX — это двоичный исполняемый файл. Элементы управления ActiveX обеспечивают расширение функциональных возможностей стандартных Web-страниц, повышают их производительность и гарантируют защиту кода. Для размещения элементов управления ActiveX в HTML-документах применяется тэг <OBJECT> с различными атрибутами, включая CLASSID, ID и CODEBASE. Начальные значения свойств элемента управления ActiveX определяют, как данный элемент управления будет отображаться при загрузке HTML-страницы программой просмотра.