Мегаобучалка Главная | О нас | Обратная связь


Создание объектов, которые не поддерживаются библиотекой объектов



2019-10-11 173 Обсуждений (0)
Создание объектов, которые не поддерживаются библиотекой объектов 0.00 из 5.00 0 оценок




Библиотеки объектов не поддерживают некоторых объектов (таких, как Word 6.0); хотя они и поддерживают технологию OLE, однако их поведение еще недостаточно удовлетворительно. В частности, приложения, не поддерживающие библиотеки объектов, могут не давать информацию об объектах, их методах и свойствах. В таких случаях необходимо использовать функцию CreateObject для создания ссылки на объект. Например:

Dim objWordBasic As Object

Set objWordBasic = CreateObject ("Word.Basic")

(He надо забывать установить объектную переменную в значение Nothing после ее использования.)

 

Использование OLE в процессе разработки приложения

По сравнению с OLE 1.0 создание связей или встраиваний в процессе разработки приложения стало намного проще. По существу, необходимо только поработать с диалоговыми панелями, которые будут описаны в этом разделе.

После того, как пользователь добавит клиентский элемент управления OLE в форму, немедленно появится диалоговая панель. (Чем больше приложений установлено на компьютере, тем больше элементов будет видно.) На этой панели приведены названия всех приложений Windows, объекты из которых можно встроить в свое приложение. Можно иметь объекты, изображаемые значком, или же с видимыми данными в элементе управления OLE. Для этого необходимо установить флажок Display as Icon в правой части диалоговой панели. Два переключателя в левой части панели предназначены для указания того, предполагается ли работать с файлами, созданными соответствующими приложениями (связанные объекты) или требуется вызвать другое приложение для создания нового объекта (встраиваемые объекты). Если выбрать опцию Create from File ( для создания связи с объектом, хранящимся в файле), то на экране появится панель. Можно щелкнуть по кнопке Browse для открытия диалоговой панели, позволяющей выбрать необходимый файл. После того, как будут сделаны все необходимые действия, не надо забывать проверить флажок Link.

 

Примечание: Можно щелкнуть по клавише Cancel, если надо установить свойства OLE при помощи кода программы. В этом случае отпадает необходимость в работе с диалоговыми панелями. Несомненно, что если создать исполняемый файл с установленной в момент разработки приложения связью OLE, то размер этого файла будет намного больше, чем в случае установки связей OLE при помощи кода в момент выполнения приложения.

 

 

Меню Paste Special

Иногда бывает необходимо установить связь или встроить объект, используя информацию, хранящуюся в буфере папки обмена Windows, путем установки свойств SourceDoc и Sourceltem. Для этого сперва нужно скопировать данные из приложения в буфер папки обмена, воспользовавшись находящейся в приложении командой Copy. После этого следует использовать диалоговую панель Paste Special, которая всегда доступна во время разработки приложения при нажатии правой кнопки мышки, при условии, что фокус находится на элементе управления OLE. В появившемся всплывающем меню надо выбрать пункт Paste Special. Диалоговая панель автоматически проверит содержимое буфера папки обмена для установки соответствующих свойств OLE.

 

Совет: Контекстное меню контейнерного элемента управления OLE содержит много полезных пунктов, поэтому следует отнестись к нему с вниманием.

Свойства OLE

Как наверное, читателю уже ясно, диалоговая панель дает простой путь для установки свойств управляющего элемента OLE. Можно их изменять также при помощи окна Properties или через код. (Это обязательно должно делаться через код, если работа с элементами OLE идет во время выполнения приложения).

Свойство SizeMode позволяет устанавливать, как будет выглядеть элемент управления во время выполнения программы. Если надо растянуть изображение по размерам управляющего элемента OLE, следует установить значение этого свойства в I (vbOLESizeStretch). И, наконец, можно указать элементу, чтобы он автоматически изменял свои размеры, установив значение свойства в 2 (vbOLESizeAutoSize).

Появляющаяся диалоговая панель также позволяет устанавливать определяющее свойство Class, которое указывает на приложение, содержащее данные. Свойство OLETypeAction определяет тип объекта, который будет создаваться, т.е. будет ли он связанным, встроенным или и тем и другим одновременно. Свойство SourceDoc содержит имя связанного объекта или файла, использующегося в качестве шаблона для встроенного объекта. Свойство Sourceltem используется только для связанных объектов и указывает ту часть связанного документа приложения Visual Basic, которое будет с ним работать. (Например, любая часть электронной таблицы может быть задана путем установки этого свойства в значение типа "R1C1 :R1C10".)

Общие методы OLE-êîíòåéíåðà

И, наконец, существует ряд важных методов, которые могут быть применены с контейнерными элементами управления OLE и которые позволяют точно указать действия, которые необходимо произвести с OLE-îáúåêòîì. Требуется ли обновить объект, создать или удалить его, сохранить информацию объекта в файле, считать ее из файла и многое другое. Далее мы вкратце расскажем о наиболее общих методах работы с OLE-îáúåêòàìè.

CreateEmbed. Этот метод создает встроенный OLE-îáúåêò. Чтобы сделать это, сперва необходимо установить (через диалоговую панель OLE или посредством кода) оба свойства Class и OleTypeAllowed. Напомним, что свойство OleTypeAllowed равно 0 для связывания, равно 1 для встраивания и 2 - для того и другого. Свойство Class устанавливает тип OLE-îáúåêòà. (Имя класса доступно из диалоговой панели OLE или через окно Properties. Можно использовать свойство OLEType для определения типа связи во время выполнения приложения.) При создании нового встроенного OLE-îáúåêòà необходимо, чтобы приложение, в котором он будет создаваться, было активным (для этого можно использовать инструкцию AppActivate) или путь к нему должен быть известен системе.

CreateLink. Создает связанный OLE-îáúåêò из существующего файла. Для этого сперва надо установить свойства OleTypeAllowed и SourceDoc. В этом случае OleType Allowed может быть равным 0 (связанный объект) или 2 (связанный и встроенный объект).

Свойство SourceDoc содержит имя файла для связанного объекта. Если надо работать только с частью связанного объекта, следует установить соответствующим образом свойство Sourceltem.

Точно так же, как и в случае со встраиванием документа, приложение должно быть активным или же его путь должен быть известен системе.

Copy. Этот метод пересылает все данные и свойства связанного объекта в буфер папки обмена Windows. Как связанная, так и встроенная информация может быть скопирована в буфер папки обмена.

Paste. Копирует данные из буфера папки обмена в элемент управления OLE. Не надо забывать установить свойство PasteOK элемента управления.

Update. Это очень важный метод, так как именно он передает данные из приложения в элемент управления OLE.

Do Verb. Этот метод позволяет управлять OLE-îáúåêòîì. Для его использования необходимо передать параметр Verb, который указывает действие, которое надо произвести над объектом.

 

Примечание: Если установить значение свойства AutoActivate элемента управления в double-click (значение=2), то элемент управления OLE автоматически будет активизировать текущий объект после того, как пользователь дважды щелкнет по нему мышкой. Если приложение поддерживает "In Place Activation", то можно сделать так, что приложение будет активизироваться всякий раз, когда элемент управления OLE будет получать фокус (для этого надо установить значение AutoActivate в 1).

 

Close. Для OLE-îáúåêòîâ. Этот метод используется только для встроенных объектов, так как он закрывает OLE-îáúåêò и прекращает связь с приложением, которое отвечает за объект.

Delete. Этот метод следует использовать для удаления объекта. Объекты OLE автоматически удаляются при закрытии формы.

SaveToFile. Этот метод жизненно важен для встроенных объектов OLE. Так как данные управляющего элемента OLE принадлежат только самому OLE-îáúåêòó, то они могут быть потеряны, если не написать соответствующий код, использующий метод SaveToFile.

ReadFromFile. Этот метод считывает данные объекта из файла после того, как они были там сохранены методом SaveToFile. Код, необходимый для использования этого метода, похож на код, предназначенный для сохранения данных в файле при помощи метода SaveToFile.

InsertObjDlg. При вызове этого метода появляется диалоговая панель InsertObject, которую Visual Basic использует при помещении OLE-îáúåêòà на форму. Во время выполнения приложения можно использовать этот метод для обеспечения пользователю простого способа создания связанных и встроенных объектов.

PasteSpecialDlg. Этот метод вызывает на экран диалоговую панель Paste Special. Во время выполнения приложения эта диалоговая панель дает пользователю возможность вставлять объекты из буфера папки обмена Windows.

Fetch Verbs. Используется для получения списка действий, поддерживаемых приложением.

SaveToOLEIFile. Этот метод следует использовать для обеспечения обратной совместимости с предыдущими версиями OLE.

 



2019-10-11 173 Обсуждений (0)
Создание объектов, которые не поддерживаются библиотекой объектов 0.00 из 5.00 0 оценок









Обсуждение в статье: Создание объектов, которые не поддерживаются библиотекой объектов

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (173)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)