Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование ИС.Часть2(COM технологии)..doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3.27 Mб
Скачать

2.4. Разработка ActiveX-документа

VB позволяет создавать ActiveX-документы – компоненты, которые можно использовать на HTML-страницах (или как страницы) аналогично использованию exe-, dll- и ocx-файлов в стандартном проекте.

ActiveX-документ – это приложение. Которое, так же как и HTML-приложение, работает через браузер.

ActiveX-документы применяются в Internet-приложениях в следующих случаях:

  • Требуется работать с моделью программирования VB, а не с моделями, используемыми в DHTML-приложниях.

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

Таким образом, если, например, на одной из страниц DHTML- приложения надо разместить собственное меню, то нужно использовать именно ActiveX-документ.

ActiveX-документы не являются автономными приложениями. Они существуют только в контейнере типа Internet Explorer. Соединение ActiveX-документа с контейнером называется связыванием, которое играет ключевую роль в работе ActiveX-документа. Так как контейнеры отличаются друг от друга, то не всегда можно перенести работающий в одной из версий Internet Explorer ActiveX-документ в другую версию эксплорера. ActiveX-документы в то же время сами являются контейнерами, то есть могут содержать другие объекты.

ActiveX-документы. Поддерживая средства установки и навигации, а также сохранения данных, обеспечивают следующие преимущества:

  • Автоматическая загрузки компонентов через Internet. Можно создать ссылку на свой ActiveX-документ, по которой браузер автоматически найдет и загрузит все компоненты, необходимые для запуска этого документа. Кроме того, можно разрешить автоматическое обновление ActiveX-документа, если на сервере обнаруживается более ранняя его версия.

  • Поддержка гиперссылок. Если контейнер поддерживает гиперссылки, то свойства и методы объекта Hyperlink, встроенного в VB, позволяют переходить на заданный URL или просматривать журнал посещений.

  • Слияние меню. Меню ActiveX-документов, созданных в VB, можно объединять с меню браузера точно так же, как и меню документов с меню MSWord или MSExcel.

  • Сохранение данных. Загрузив ActiveX-документ в Internet Explorer, можно сохранять данные через объект PropertyBag.

При создании ActiveX-документа разрабатывается ActiveX-компонент кода, который может быть как внутренним (шаблон ActiveX Document DLL), так и внешним (шаблон ActiveX Document EXE)

Объект UserDocument – это базовый объект ActiveX-документа. Он аналогичен стандартной форме (отличия состоят в том, что у них есть разные события, в ActiveX-документ нельзя помещать OLE-контейнер, у него нет заголовка, как у формы).

Файлы, относящиеся к ActiveX-документу:

  • *.dob – текстовые файлы, в которых хранятся документы пользователя: код, значения свойств, элементы управления (аналогично файлу *.frm в стандартном проекте)

  • *.dox – графические элементы (аналогично файлу *.frx в стандартном проекте)

При компиляции создаются не только EXE- или DLL-файлы, но и документ VB – файл *.vbd (Visual Basic Document). Именно это файл открывает ActiveX-документ в браузере. В этом случае Internet Explorer работает как контейнер и вмсто страницы в формате HTML представляет UserDocument.

Как правило, ActiveX-документу доступно почти все, что доступно стандартному VB-проекту: стандартные и нестандартны элементы управления, коды и дополнительные формы. Однако ActiveX-документ всегда ограничен возможностями приложения-контейнера.

Схема создания ActiveX-документа:

  • создать новый проект на основе ActiveX Document DLL (внутренней компонент) или ActiveX Document EXE (внешний компонент)

  • Добавить в UserDocument элементы управления и код пользовательского интерфейса.

  • Скомпилировать для получения файла *.vbd

  • Запустить в контейнерном приложении.

В одном приложении можно использовать несколько UserDocument. Но в отличии от форм стандартного проекта, они не отображаются методом Show, а выводятся на экран методами навигации приложения-контейнера. Специально для этого в VB существует объект Hyperlink, с помощью которого можно выполнять такие переходы методом NavigateTo, который выполняет переход по нужной гиперссылке, например файлу URL или другому UserDocument.

Задача. Создать документ, который выводит приветствие и переходит по адресу, указанному в текстовом поле.(Проверить)

  • На основе шаблона ActiveX Document EXE создать проект под именем FirstDoc, стостоящий из из 2-х документов.

  • Открыть окно конструктора, добавить на 1-й документ две кнопки <Привет> и <Перейти> и одно поле (для ввода имени), а на 2 документ метку и кнопку <Назад>.

  • Добавить код на кнопку <Привет>:

Private Sub Cmd1_Click()

privetst = txt1.Text & " ПРИВЕТ!"

End Sub

  • Добавить код на кнопку <Перейти>:

Private Sub Cmd2_Click()

Hyperlink.NavigateTo "C:\Program Files\Microsoft Visual_ Studio\VB98\UserDocument2.vbd"

End Sub

  • Добавить код на кнопку <Назад>:

Private Sub Команда1_Click()

Hyperlink.NavigateTo "C:\Program Files\Microsoft Visual Studio\VB98\UserDocument1.vbd"

End Sub

Private Sub UserDocument_Initialize()

met1.Caption = privetst

End Sub

  • Объявить глобальную переменную:

  • Public privetst As String

  • В ыполнить проект (рис.33):

Рис.33

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