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

Пример организации связывания и встраивания


Давайте рассмотрим пример реализации связывания и встраивания с точки зрения пользователя. Чтобы создать составной документ с помощью программы WordPad, необходимо выполнить следующие действия.

1. Запустите редактор WordPad с помощью меню Start (Пуск)/

2. Выберите команду Object (Объект) в меню Insert (Вставка), чтобы вызвать на экран диалоговое окно Insert Object (Вставка объекта), как показано на рис. 14.2.

3. Установите переключатель в положение Create from File (Создать из файла), а затем щелкните на кнопке Browse (Обзор).

4. В диалоговом окне Browse (Обзор) (идентичном диалоговому окну File Open (Открыть)) выберите растровое изображение и щелкните на кнопке ОК. Выбранное изображение будет встроено в документ WordPad.

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

Inseil Object

Рис. 14.2. Диалоговое окно Insert Object (Вставка объекта) позволяет выбрать существующий объект (или создать новый) и встроить его (или связать) с текущим документом

Если установить переключатель в положение Create New (в диалоговом окне Insert Object (Вставка объекта)), то на экране появится прокручивающийся список объектов, доступных системе. Каждое приложение, выполняющее функции приложения-сервера, регистрирует предоставляемые объекты в системе, чтобы приложения-контейнеры могли ими воспользоваться. Когда вы вставляете объект, приложение для работы с ним запускается автоматически при открытии каждого нового документа. Вернемся в диалоговое окно Insert Object (Вставка объекта), установим переключатель в положение Create New (Создать новый) и выберем из списка Object Types объект Bitmap Image (Растровое изображение). По умолчанию предполагается, что растровые изображения создаются в программе Paint. Если в системе не была заменена прикладная программа для создания и обработки растровых изображений, то WordPad установит связь с Paint и выведет на экран ее интерфейс пользователя Меню WordPad будет заменено на меню Paint, и на экране появится панель инструментов Paint (рис. 14.3). Теперь можно создать новое растровое изображение, пользуясь средствами Paint, но этот процесс будет происходить в WordPad. При этом не нужно запускать другое приложение, копи­ровать растровое изображение, а затем вставлять его в ваш документ.


Независимо от того, какое было вставлено растровое изображение — новое или уже существующее — для его редактирования достаточно выполнить двойной щелчок в области изображения. Операционная система обращается к Registry (Реестру), чтобы найти приложение, ассоциированное с растровым изображением. По умол­чанию — это программа Paint, которая поставляется вместе с Windows. Если эта установка не была изменена, то будет запушено приложение Paint и вместо меню и панели инструментов WordPad появится меню Paint (рис 14.3). (Если же эта установка была изменена, то будет запущено иное приложение). Теперь можно отредактировать растровое изображение, а затем возвратиться в основной доку­мент щелкнув за пределами растрового изображения. В нашем случае, приложение Paint является приложением-сервером, которое "знает", как обрабатывать растровые изображения.

Рис. 14.3. Меню и панели инструментов приложения-контейнера (WordPad) заменяются меню и панелями инструментов приложения-сервера (Paint)
Растровое изображение, помещенное в документ WordPad, и растровое изобра­жение, содержащееся на дисковом файле - это два отдельных объекта. Можно изменять этот файл на диске, заменять его другим, можно даже удалить его — на содержимое документа WordPad это не повлияет. В документе WordPad содержится копия растрового изображения.
Поскольку можно редактировать встроенный объект в том окне, в котором он находится, не нужно знать, с помощью какой программы был создан объект, и не нужно работать с этим объектом в отдельном окне. Одно из преимуществ такого подхода — упрощается выполнение операции масштабирования объекта по отно­шению к окружающему тексту.
Если в диалоговом окне Insert Object (Вставка объекта) установить флажок Link (Связать), то объект в документе WordPad будет связан с исходным объектом. При связывании объекта в системе будет только один объект (файл, содержащий рас­тровое изображение. При этом в документе WordPad будет содержаться ссылка на него, а не копия объекта. Тот же объект может быть связан с другим документом, возможно, с другим приложением. Независимо от количества документов, ссы­лающихся на данный объект, в системе будет находиться только один исходный объект. Если его изменить, то во всех документах, ссылающихся на него, появится уже измененная версия объекта (рис. 14.4).

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

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