Visual Basic 6. Руководство разработчика

       

Элемент управления


OLE Container

Рассмотрим, как OLE-технология используется в VB-приложениях. Чтобы включить функциональные возможности OLE в VB-приложения, необходим элемент управления OLE Container, позволяющий вставлять в программу объекты из других приложений. В элемент управления OLE Container можно поместить только один объект. На форму можно поместить несколько элементов OLE Container, каждый из которых может содержать собственный объект.

Элемент управления OLE Container — это доступ к различным объектам опера­ционной системы, которые Visual Basic не в состоянии использовать самостоятельно (например, документы Word, звуковые файлы, растровые изображения или электронные таблицы Excel). Элемент управления OLE Container может содержать любой из объектов, перечисленных в диалоговом окне Insert Object (Вставка объекта), и сделать вашу программу на Visual Basic приложением-контейнером. Преимуществом использования OLE Container является то, что он скрывает сложности, связанные с применение OLE. Встраивать объекты в OLE Container можно как при разработке приложения, так и при выполнении.


FLEXLabel

Начнем наше исследование элементов управления ActiveX с простого примера. Первый элемент, который будет сконструирован в этой главе — это элемент управления FLEXLabel (улучшенный элемент управления Label), показанный на рис. 16.1. Он реализует все возможности элемента управления Label плюс несколько весьма интересных особенностей, таких как выравнивание текста во всех возможных направлениях и трехмерное изображение.

Рис. 16.1. Элемент управления FLEXLabel является улучшенным вариантом элемента управления Label, который может отображать трехмерный текст и выравнивать его по вертикали и горизонтали.

Для построения элемента управления FLEXLabel следует выполнить следующие действия.

1. Включить все компоненты стандартного элемента управления Label.

2. Добавить дополнительные члены и написать код для их реализации.

3. Испытать элемент на форме.

Сейчас, скорее всего, стоит задуматься о программе, которая выравнивает текст и выводит его в виде вдавленного или выпуклого изображения. Начнем со стандартного проекта, который отображает строку на форме и выравнивает ее всеми возможными способами. Элемент управления — это приложение, созданное таким образом, что позволяет ему отображаться на форме, а не на рабочем столе. В большинстве случаев такой элемент может быть реализован с помощью обычной формы. На рис. 16.2 показана форма проекта FLabel, которая делает в точности то же, что должен делать элемент управления FLEXLabel. Этот проект находится в папке с одноименным названием на компакт-диске. Откройте его и посмотрите, как он работает.



Рис. 16.2. Проект FLabel отображает строку в трехмерном представлении, выравнивая ее по вертикали и горизонтали, подобно элементу управления FLEXLabel.

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

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




Data

Наборы RecordSet являются основой программирования баз данных. Рассмотрим пример, который поможет представить, что такое набор RecordSet, и исследовать элемент управления Data Приложение Datal (рис 17 3) — это интерфейс для доступа к таблице в базе данных.

Рис. 17.3. Приложение Datal позволяет просматривать строки таблицы без написания строк кода

VB6 в действии: проект Data1

Для создания данного приложения выполните следующие действия.

1. Откроите новый проект типа Standard EXE и разработайте форму (см. рис. 17.3). Начните с размещения в нижней части формы элемента Data - это ваши "двери" к базе данных.

2. Выбрав Data, откройте окно свойств, найдите свойство DatabaseName (Имя базы данных) и нажмите кнопку с многоточием, чтобы открыть диалоговое окно Open.

3. Выберите базу данных NWIND, которая поставляется вместе с Visual Basic.

4. В окне свойств найдите свойство RecordSource (Источник записей) и откройте список доступных источников записей. Вы увидите список всех таблиц в базе данных NWIND. Выберите таблицу Customers.

5. Разместите на форме четыре элемента управления Textbox (см. рис. 17.3).

6. Выберите первый элемент Textbox и в окне свойств найдите свойство DataSource (Источник данных). Установите его значение в Data1.

7. Установите значение свойства DataField (Поле) элемента Textbox в CompanyName. Свойство DataField — это раскрывающийся список с названиями всех полей таблицы Customers.

8. Установите в свойствах DataSource (Источник данных) остальных элементов Textbox значение Data1, а в свойствах DataField (Поле) выберите Country (Страна), Phone (Телефон) и Fax (Факс), соответственно.

Запустите приложение. Элементы управления Textbox отобразят содержимое соответствующих полей таблицы Customers базы данных NWIND. Используя кнопки элемента Data, можно двигаться по записям (строкам) таблицы. При нажатии крайней левой кнопки отображается первая запись таблицы, а при нажатии кнопки, расположенной правее и рядом с ней — предыдущая запись. Соответственно, при нажатии крайней правой кнопки отображается последняя запись таблицы, а при нажатии кнопки, расположенной левее и рядом с ней — следующая запись.




ADO Data

Визуальные инструменты для работы с базами данных не являются единственным средством работы с DAO. Одним из новых элементов управления, добавленных на панель элементов управления, является ADO Data (сходный с элементом Data). Он позволяет подключаться к большим базам данных различных типов, причем с помощью одного приложения и используя один интерфейс

Простейший путь применения ADO в проекте — добавление на форму элемента управления ADO Data и использование его подобно элементу управления Data. Чтобы использовать элемент управления ADO Data со стандартным ЕХЕ-проектом, добавьте его на панель элементов управления.

Откройте меню Project и выберите команду Components для вызова одноимен­ного диалогового окна Components. Отметьте опцию Microsoft ADO Control 6.0 (OLEDB). Для использования усовершенствованных связанных с данными элементов управления (например. List и ComboBox) отметьте также опцию Microsoft Data List Control 6.0 (OLEDB). Щелкните на кнопке ОК для возврата в среду разработки Visual Basic.

Теперь панель элементов управления содержит элементы управления ADO — Data Control, DataList и DataCombo Элементы управления DataList и DataCombo подобны элементам управления DBList и DBCombo, только они предназначены для объектов ADO Data, а не Data.

Приведем пример использования элемента управления ADO Data. Разработаем очень простую форму, которая позволит просматривать заказчиков в базе данных NWIND. Проект ADODC (см. рис. 18.15) состоит из формы с несколькими текстовыми полями, отображающими поля таблицы Customer базы данных NWIND. Текстовые поля связаны с элементом управления ADO Data, который подключает их к текущей записи в таблице Написание кода не требуется.

Рис. 18.15. Проект ADODC: основные свойства элемента ADO Data идентичны свойствам элемента Data

Чтобы создать проект ADODC, выполните следующие действия.

1. Откройте новый проект и добавьте элемент управления ADO Data на панель инструментов проекта.

2. Поместите экземпляр элемента управления ADO Data на форму.




Script

В дополнение к построению сценариев Web-страниц,

VBScript можно исполь­зовать для написания сценария в приложениях Visual Basic. Функциональные возможности VBScript встраиваются в приложения с помощью элемента управления Script, выпущенного несколькими месяцами раньше Visual Basic 6. В этой книге элемент Script получен из Web-узла http://www.microsoft.com/scripting. По этому адресу можно найти дополнительную документацию по элементу управления Script и примеры его использования. Что касается версии VBScript, использо­вавшейся при написании книги, то документация по нему скупа, сам элемент управления содержал несколько ошибок, но разработка сценариев с помощью Visual Basic - занятие настолько захватывающее, что на указанные недостатки можно не обращать внимания.

Что может сделать элемент управления Script для приложения? Он может вычислять выражения во время выполнения (имеются в виду выражения, которые передаются приложению в виде строки - прим. ред.). А поскольку элементом управления Script можно управлять из кода приложения, то и само приложение приобретает эту возможность.

Предположим, необходимо разработать калькулятор, который вычисляет мате­матические выражения. Visual Basic вычисляет любое математическое выражение, если оно является частью кода. Например, пользователю во время выполнения необходимо вычислить математическое выражение типа 99,9/log(2,5) или нарисо­вать график кривой 9*Sin(x)/Cos(x).

Как разрешить эту задачу средствами Visual Basic? Единственный способ — создать собственный элемент управления, способный воспринимать и вычислять выражения в ходе выполнения программы. В гл. 6 рассмотрено приложение Graph, которое рисует график функции, определение которой является частью кода приложения. Этот подход имеет очень ограниченную сферу применения.

В этой главе мы модифицируем приложение Graph так, чтобы оно могло рисовать любую функцию, задаваемую пользователем во время выполнения. Такую возможность предоставляет элемент управления Script. Элемент управления Script вычисляет не только математические, но и логические выражения, выполняя те или иные действия на основе полученного результата, например, организацию цикла. Он позволяет использовать все разнообразие операторов и функций VBScript. Ниже приведен код на VBScript, который определяет, какая из двух функций имеет большее значение для текущего аргумента x.




WebBrowser

Элемент управления WebBrowser попросту является окном Internet Explorer. Любой HTML-документ, который отображается в Internet Explorer, может отображаться на элементе управление WebBrowser. Элемент управления WebBrowser добавляет возможности броузера в приложения. Он позволяет пользователю просматривать узлы в World Wide Web, локальные файлы или ActiveX-документы, например документы Word или Excel из приложения Visual Basic.

Поскольку WebBrowser — элемент управления ActiveX, его можно установить на любой форме Visual Basic. Перед использованием необходимо добавить этот элемент на панель элементов управления. Для этого выполните следующее.

1. Щелкните правой кнопкой мыши на панели элементов управления и из контекстного меню выберите Components чтобы открыть диалоговое окно Components.

2. Выберите Microsoft Internet Controls и щелкните на кнопке ОК. На панели инструментов появятся два новых значка WebBrowser и ShelFolderViewOC.

3. Выберите значок WebBrowser и поместите элемент управления на форму.

Размеры элемента управления WebBrowser можно изменять. Поскольку размеры элемента управления нельзя изменять во время работы программы необходимо их отрегулировать по размерам контейнера которым является форма Visual Basic. Когда пользователь меняет размеры формы элемент управления WebBrowser также меняет свои размеры.

Для отображения Web страницы на элементе управления WebBrowser используется метод Navigate. Можно переместиться по списку URL. Элемент управления WebBrowser автоматически создает список посещенных URL. Далее будут рассмотрены свойства, методы и события элементов управления. Начнем с разработки простого приложения которое демонстрирует основные характеристики элементов управления.

VB6 в действии: проект Browser

В этом параграфе разработано приложение, основанное на элементе управления WebBrowser и демонстрирующее как добавить возможности Web броузера в приложения Visual Basic (проект Browser на компакт диске), На рис, 21,1 показано приложение Browser, отображающее Web-узел Sybex. Пользователь может выбрать URL из комбинированного списка или локальный HTML-файл, щелкнув на кнопке Open HTML File.



Содержание раздела