Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование ИС.Часть1(DDE+буфер обмена+OLE)....doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
742.91 Кб
Скачать

3.2. Элемент управления ole-контейнер

Создание OLE-объектов

Наиболее простой способ вставить OLE-объект в VB-проект – разместить на форме элемент управления OLE-контейнер. После добавления OLE –контейнера отображается диалоговое окно вставки OLE-объекта, в котором можно создать новый объект или создать его из файла, указав, будет это внедренный или связанный объект (рис. 10)

Рис.10

В зависимости от выбора пользователя OLE-контейнер будет содержать данные представления и/или естественные данные и предоставлять некоторые возможности для их редактирования. На рис.11 показан пример выбора нового точечного рисунка для размещения в элементе управления OLE1 и создание из файла точечного рисунка – в элементе OLE2.

Рис.11

Н

овый рисунок был создан на этапе проектирования непосредственно в поле элемента OLE1 инструментом ”карандаш” приложения Paint, в то время как рисунок OLE2 заранее был создан в приложении Paint и сохранен в файле. На рис.12 приведен пример вставки новый объектов: листа MSExcel и документа MSWord.

Рис.12

Созданный из файла объект можно отобразить на форме в виде значка, а также выставить флажок Связь для того, чтобы изменения в исходном файле отображались в OLE-контейнере (рис.13).

Рис.13

На этапе выполнения двойной щелчок на новом объекте загружает часть интерфейса исходного приложения (меню, например) и открывает данные для редактирования (рис.14)

Рис.14

Что касается объекта, созданного из файла, то на этапе выполнения двойной щелчок на объекте полностью разворачивает исходное приложение, в которое загружается данный файл.

Самостоятельные упражнения

  1. Разместить на форме стандартного проекта элементы управления OLE-контейнер для создания объекта Диаграмма MSExcel

  2. На этапе выполнения изменить исходные данные для диаграммы, пользуясь командами из меню Диаграмма, сохранить и закрыть проект.

  3. Открыть разработанный проект и убедиться, что изменения не сохранились.

Программирование OLE- контейнера

Большинство операций по проектированию OLE-контейнера можно выполнить в диалоговом режиме на этапе разработки, как это было показано выше. Однако часто бывает полезным создавать программные коды для более гибкого управления возможностями OLE-контейнера.

Создание внедренного объекта осуществляется методом CreateEmbed. Синтаксис метода:

CreateEmbed <документ-источник>,<класс>

При вызове этого метода достаточно указать имя класса внедряемого объекта. Например,

OLE1.CreteEmbed ””,”Word.Document”

Для связанного объекта используется метод CreteLink, в качестве параметра которого надо указать источник данных, то есть имя файла и раздел данных. Синтаксис метода:

OLE1.CreteLink ”<полное имя файла>”,”<раздел данных>”

Например:

OLE1.CreteLink ”С:\table1.xls”,”C1R1

Упражнение

  • Создать в Excel книгу Book.xls с непустой ячейкой А1 и сохранить в корне диска С:.

  • Разместить на форме кнопку <ПУСК>; OLE1 и OLE2, отменив вставку объекта.

  • Написать код на кнопку:

Private Sub ПУСК_Click()

OLE1.CreateEmbed "", "Word.Document"

OLE2.CreateLink "C:\Book.xls", "R1C1"

End Sub

На рис.15 приведен результат выполнения проекта.

Рис.15

Как становится ясно из самостоятельного упражнения предыдущего пункта, для того чтобы при следующем запуске приложения в контейнере находился тот же OLE-объект, его необходимо сохранять. Сохранение данных в двоичном формате применяется к внедренным объектам, так как связанные объекты сохраняются приложением-источником. Для этого используется метод SaveToFile. Приведем пример кода для созранения данных:

Fn=FreeFile

Open “C:\DATA.OLE” For Binary As Fn

OLE1.SaveToFile Fn

Close #Fn

Загрузка объектов производится аналогичным образом при помощи метода ReadFromFile

Самостоятельное упражнение

  1. На форме стандартного проекта разместить OLE-контейнер с внедренным документом Word и добавить код, сохраняющий данные. На этапе выполнения ввести текст в документ, сохранить и закрыть проект.

  2. Открыть проект и убедиться, что данные созранились.