Элемент управления OLE (панель элементов управления) используется для связывания /внедрения объектов в приложениях Visual Basic. Контекстное меню OLE содержит команды:
· вырезать, копировать, вставить, удалить,
· перенести
· вставить объект (имеется список объектов для выбора и возможность выбора типа вставки),
· специальная вставка - при выборе этой команды выводится диалоговое окно, где отображаются имеющиеся в наличии классы объектов. Имеется возможность сделать выбор - связь/внедрение; имеется возможность использования вместо объекта пиктограммы,
· создать связь, создать внедренный объект.
Не все команды отображаются или являются доступными; это зависит от состояния приложения и буфера обмена. Некоторые параметры элемента управления OLE даны в табл. 6.1
Таблица 6.1. Некоторые свойства, методы и события элемента управления OLE
|
Свойства
| Пояснения
|
Action
| Выполняемое действие. Недоступно во время разработки, возможны установочные значения в пределах 0 - 18; среди них: 0 - создаeт внедрeнный объект, 1 - создаeт связанный объект, 7 - открывает объект, 15 - отображает окно Специальная вставка, 18 - сохраняет OLE и т.д. Некоторые действия Action реализованы как методы
|
AutoActivate
| Определяет когда активизируется объект (после двойного щелчка, после получения фокуса и т.д.)
|
AutoVerbMenu
| Должно ли выводиться контекстное меню
|
Class
| Идентифицирует приложение, которое создаeт OLE-объект (например, Word)
|
HostName
| Содержит имя приложения, создавшего объект
|
ObjectVerbs
| Список команд, применимых к OLE-объекту
|
ObjectVerbsCount
| Количество таких команд (см. выше)
|
OLEType
| Возвращает состояние OLE-объекта в контейнере: связанный/внедрeнный
|
OLETypeAllowed
| Задание связывания, внедрения или обоих
|
SizeMode
| Возвращает и задаeт режим согласования размеров элемента управления OLE и загружаемого в него объекта
|
SourceDoc
| Имя файла, где находится объект (или который должен быть загружен в OLE-контейнер)
|
SourceItem
| Указывает на данные объекта, которые будут связаны
|
Verb
| Определяет вид действия, которое будет выполнено при активизации объекта с помощью свойства Action
|
UpdateOptions
| Когда содержимое объекта OLE может быть обновлено
|
Методы
| |
Close
| Закрыть объект, завершить связывание с приложением, где он был создан
|
Copy
| Копирование из контейнера OLE в буфер обмена
|
CreateEmbed
| Внедрение объекта в OLE-контейнер. CreateEmbed (Action = 0) создает внедренный объект, CreateLink(Action = 1) создает cвязанный объект
|
CreateLink
| Создание связываемого объекта, пользуясь содержимым заданного файла
|
Delete
| Удалить объект
|
DoVerb
| Открыть объект для выполнения над ним одного из действий
|
Paste
| Вставить объект в OLE-контейнер из буфера обмена
|
Updаte
| Обновление объекта в OLE-контейнере (на основании данных приложения, посредством которого объект редактируется)
|
События
| |
ObjectMove
| Происходит после изменений размеров или перемещения объекта, бывшего в OLE-контейнере
|
Updated
| Происходит после изменения данных в объекте
|
Приложение OLE-сервер определяет множество операций (команд), которые могут выполняться над поставляемым им объектом. Каждый объект поддерживает собственный набор команд. Этот набор может изменяться во время работы приложения. OLE-объект получает список команд от приложения-сервера и доступ к этому списку команд осуществляет через свои свойства (AutoVerbMenu, Verb, ObjectVerbs, ObjectVerbsCount). Эти свойства доступны во время выполнения.