Общие методы элемента управления
OLE Container
Чтобы управлять встроенными или связанными объектами, в элементе управления OLE Container, в дополнение к уже упомянутым, предусмотрены следующие методы.
CreateEmbed
С помощью этого метода создается встроенный объект. Синтаксис метода имеет вид:
CreateEmbed sourcedoc, class
Параметр
sourcedoc — имя файла документа, используемого в качестве шаблона для встроенного объекта. Чтобы создать новый встроенный документ, в качестве параметра sourcedoc
указывается строка нулевой длины ("").
Параметр
class — необязательный параметр, определяющий имя класса встроенного объекта. Этот параметр требуется только в том случае, если параметр sourcedoc опущен. Чтобы найти зарегистрированные классы, выберите свойство Class (Класс) в окне Properties (Свойства) элемента управления OLE Container и щелкните на кнопке с многоточием.
CreateLink
Этот метод позволяет создать связанный объект из содержимого файла. Синтаксис метода CreateLink:
CreateLink sourcedoc, sourceitem
Параметр
sourcedoc — это файл, из которого будет создан объект, а параметр sourceitem —
данные внутри файла, которые должны быть в связанном объекте. Например, чтобы связать содержимое элемента управления OLE Container с блоком ячеек рабочего листа Excel, следует задать файл с помощью параметра sourcedoc, a диапазон связанных ячеек - с помощью параметра sourceitem. Параметр sourceitem может указывать на одиночную ячейку (например, R10C12) или на блок ячеек (например, R1C1:R10C20). Можно также задать именованный блок.
После того как связанный документ создан, значение свойства Sourceitem устанавливается в строку нулевой длины, а его первоначальное значение присоединяется к свойству SourceDoc. Например:
"c:\data\revenus\revl997.xls|RCl:R20C25 "
Самый простой способ определения синтаксиса этих двух команд - это выбрать связываемый объект, а затем при проектировании вставить его с помощью команды Paste Special в элемент управления OLE Container. После того как объект будет связан, просмотрите значение свойства SourceDoc и используйте его в собственной программе.
DoVerb verb
Метод DoVerb выполняет команды ( являющиеся глаголами, например, Edit, Play и т. п.). Объекту известно, как выполнять заданное действие. Синтаксис метода:
DoVerb verb
Значения необязательного параметра verb перечислены в табл. 14.3.
Таблица 14.3. Значения параметра verb
Константа |
Значение |
Описание |
VbOLEPrimary |
0 |
Действие для объекта, заданное по умолчанию |
vbOLEShow |
-1 |
Открывает объект для редактирования. Активизирует приложение, создавшее документ, в окне OLE Container |
VbOLEOpen |
-2 |
Открывает объект для редактирования Активизирует приложение, создавшее документ, в отдельном окне |
vbOLEHide |
-3 |
Для встроенных объектов позволяет скрыть приложение, создавшее объект |
vbOLEUIActivate |
-4 |
Активизирует объект для оперативного редактирования и позволяет отобразить любые инструментальные средства пользовательского интерфейса. Если объект не поддерживает оперативное редактирование, то появляется сообщение об ошибке |
VbOLEInPlaceActivate |
-5 |
Когда пользователь перемещает фокус в окно элемента управления OLE Container, то с помощью этой операции можно создать окно для объекта и подготовить объект, который нужно отредактировать |
vbOLEDiscardUndoState |
-6 |
Когда объект активизирован для редактирования, этот метод позволяет отбросить все изменения, которые приложение, создавшее объект, может отменить |
Этот метод позволяет отобразить диалоговое окно Insert Object (Вставка объекта). Установки пользователя, выполненные в этом окне, передаются приложению с помощью значений свойств элемента управления OLE Container.
PasteSpecialDIg
Этот метод позволяет отобразить диалоговое окно Paste Special (Специальная вставка). Установки пользователя, выполненные в этом окне, передаются приложению с помощью значений свойств элемента управления OLE Container.
Object Browser позволяет выяснить, какие встроенные константы используются в различных методах и свойствах элемента управления OLE Container.
1. Выберите команду Object Browser (Просмотр объекта) в меню View (Вид).
2. Выберите библиотеку объектов Visual Basic, а в нем объект Constant, чтобы отобразить названия констант в списке Method/Properties (Метод/Свойства).
Если немного поэкспериментировать с методами OLE и элементом управления OLE Container, то можно сделать вывод: в пограничных ситуациях OLE далека от совершенства. У пользователя нет возможности полностью контролировать внешний вид встроенного или связанного объекта, а иногда и панель приложения-сервера остается невидимой. Несмотря на то, что работа над OLE идет уже несколько лет, нельзя считать ее завершенной.
Существует не так уж много созданных в Visual Basic приложений, которые выполняют связывание и встраивание документов, предоставленных приложениями-серверами. Однако другой аспект OLE — OLE-автоматизация — вполне совершенна и является наиболее мощным средством основных Windows-приложений, например, Microsoft Office. Автоматизация OLE рассматривается во второй части главы, а сейчас мы кратко рассмотрим операции перетащить-и-опустить, применяемые в OLE.