
- •Часть 2
- •Тема 4. Com-технологии
- •Создание com-компонентов
- •2.1. Создание ActiveX – элементов
- •Разработка ActiveX - элемента
- •Создание страниц свойств ActiveX – элемента
- •2.2. Создание ActiveX – компонентов кода
- •2.3. Создание dhtml – приложений
- •2.4. Разработка ActiveX-документа
- •Преобразование стандартного проекта в активный документ
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-странице, если введены верные значения имени пользователя и его пароля.