Технология обмена данными через буфер
Обмен данными через буфер выполняется в следующей последовательности (рис. 12.14):
· выделяется объект, подлежащий копированию или перемещению;
· выделенный объект переносится в буфер обмена с помощью командыКопироватьилиВырезать (например, через контекстное меню);
· указатель мыши устанавливается в место вставки объекта;
· объект вставляется в указанное место командойВставить или командойСпециальная вставка (через контекстное меню или менюПравка).
ТЕХНОЛОГИЯ ВНЕДРЕНИЯ И СВЯЗЫВАНИЯ ОБЪЕКТОВ OLE
Представление о технологии OLE
Появление технологии OLE обусловлено необходимостью формирования документов из данных разного типа. Основное достоинство технологии OLE, которая была разработана фирмой Microsoft, состоит в том, что она не имеет ограничений и позволяет организовать передачу данных практически между любыми приложениями. Технология OLE определяется правилами (протоколом) взаимодействия Windows-приложений. Базовый вариант технологии OLE был впоследствии расширен до версии OLE 2.0, которая в настоящее время является наиболее употребительной.
Примечание. Аббревиатура OLE означает Object Linking and Embedding, что переводится как связывание и внедрение объекта.
Технологию OLE полностью поддерживают не все Windows-приложения, а только те, которые предназначены для разработки составных документов. Одни приложения можно использовать только в качестве приемника, другие — только в качестве источника, но есть приложения, которые могут выступать и в той, и в другой роли.
Например, текстовый редактор WordPad полностью обеспечивает работу по технологии OLE, так как он предназначен для создания текстовых документов, в которых могут быть рисунки, звуки, таблицы, видеоклипы и др. Графический редактор Paint предназначен для подготовки несложных рисунков, он не может работать по технологии OLE только как приложение-источник. Текстовый процессор Word представляет собой сложный комплекс и фактически включает в себя несколько приложений: редактор рисунков, редактор формул, текстовый редактор и др. Эти приложения по-разному используют технологию OLE. Редактор формул действует только как приложение-источник (OLE-сервер), а текстовый редактор может выступать как в роли источника, так и в роли приемника (OLE-клиента). Просмотреть список действующих в системе OLE-серверов можно, выполнив команду Вставить объект (в среде Word эта команда включена в меню Вставка).
Технология OLE обеспечивает пользователю возможность редактировать вставленный в составной документ объект средствами, которые предоставляет приложение-источник. OUB-объект всегда сохраняет связь с приложением-источником (эта связь активизируется двойным щелчком), но может и не быть связанным с документом-источником.
Технология OLE предусматривает два варианта обмена данными:
· внедрение объект а, при котором в документ-приемник вставляется сам объект. Для отображения на экране или распечатки документа ОLЕ- объект не использует средств приложения-источника. Например, при переносе составного документа на другой компьютер ОLЕ- объект будет отображаться нормально, даже если на этом компьютере нет соответствующего приложения-источника. Однако ОLЕ- объект сохраняет связь с приложением-источником, которая позволяет обеспечить редактирование OLE-объекта внутри составного документа;
· связывание объекта, при котором в документ-приемник помещается не сам объект, а лишь ссылка на документ-источник. В этом случае OLE-объект будет связан не с приложением-источником, а с документом-источником, в котором находится этот объект. Эта связь позволяет изменить представление объекта в документе-приемнике, как только этот объект будет изменен в документе-источнике.
Внедрение объекта
При внедрении объекта в документ-приемник вставляется сам объект. Если этот объект получен копированием данных из некоторого документа-источника, то данные сохраняются на прежнем месте, а в документ-приемник вставляется их копия, причем связь методу объектом и его копией не устанавливается. При этом наряду с командойВставить можно использовать командуСпециальная вставка.
Внедрить объект в документ можно несколькими способами:
· из открытого документа (с помощью командВставить и Специальная вставка);
· из файла (специальной командой вставки файла или импорта файла);
· непосредственным вызовом OLE- cepвepa (командойВставить объект).
· Внедрение объекта из открытого документа выполняется следующим образом:
· в приложении-источнике выделяется объект, который будет внедряться;
· выделенный объект копируется в буфер обмена с помощью командыКопировать или Вырезать;
· осуществляется переход в приложение-приемник, где формируется составной документ, и указатель мыши устанавливается в место вставки объекта;
· вставляется объект с помощью командыВставить илиСпециальная вставка;
· при использовании командыСпециальная вставка на экране появляется диалоговое окно «Специальная вставка» (рис. 12.15), в котором необходимо выбрать способ вставки данных как объекта, отметить кнопку выбора <Вставить> и нажать кнопку <ОК>. Данные можно вставлять в составной документ также в виде значка, для чего в диалоговом окне «Специальная вставка» следует отметить соответствующий переключатель.
Технология внедрения содержимого файла, которая рассматривается на примере приложения Word, состоит в следующем:
· в составном документе указывается место внедрения;
· вводится командаФайл из управляющего менюВставка;
· в диалоговом окне «Вставка файла» (рис. 12.16) устанавливаются необходимые параметры и выбирается имя файла. При этом не следует устанавливать переключатель <Связь с файлом>, чтобы содержимое файла оказалось внедренным;
· и нажать кнопку <ОК>.
Для других приложений технология аналогична, отличие состоит в конкретных названиях команд.
В составной документ новый объект внедряется следующим образом:
· в составном документе указывается место внедрения;
· вводится командаВставить объект (в среде Word — пунктОбъект управляющего менюВставка);
· в диалоговом окне «Вставка объекта» (рис. 12.17) выбирается тип внедряемого объекта, т.е. приложение-источник. Флажок <Связь с файлом> устанавливать не следует, для того чтобы объект оказался внедренным;
· нажимается кнопка <ОК>;
· в приложении-источнике создается новый объект, который после выхода из приложения-источника будет вставлен в документ-приемник.
Объект, внедренный по технологии OLE, можно редактировать средствами приложения-источника следующими способами:
· выбрать соответствующую команду в управляющем или контекстном меню;
· Объект, внедренный по технологии OLE, можно редактировать средствами приложения-источника следующими способами:
· выбрать соответствующую команду в управляющем или контекстном меню;
· дважды щелкнуть левой кнопкой мыши на внедренном объекте.
Отметим, что если один и тот же объект внедряется в несколько документов, то в каждом документе будет храниться своя копия объекта. В этом случае хранение объекта и всех его копий требует дополнительного расхода внешней памяти. Кроме того, не сохраняется никакой связи между копиями объекта, изменение одной из копий никак не влияет на остальные копии объекта.
Связывание объекта
При просмотре или распечатке составного документа связанный объект ничем не отличается от внедренного. Различие проявляется лишь при редактировании объекта, ^вязанный объект всегда находится в документе-источнике, а в составном документе-приемнике хранится ссылка (указание местонахождения) на файл с этим документом (рис. 12.18).
Таким образом, при связывании объекта в документах-приемниках указываются ссылки на объект, а сам объект хранится в единственном экземпляре в документе-источнике. Любые изменения объекта, проводимые в документе-источнике, обязательно отражаются на представлении объекта в составных документах. При открытии составного документа необходимо позаботиться о том, чтобы присутствовали все файлы, в которых хранятся связанные с ним объекты, причем в точности в тех папках, в которых они находились при связывании.
Технологией связывания объекта целесообразно пользоваться в следующих случаях:
· объект вставляется в несколько разных документов, и необходимо, чтобы любые изменения этого объекта отражались в этих документах;
· объект занимает слишком много места и затрудняет работу с составным документом;
· при недостатке внешней памяти.
· Создание связанных объектов в составном документе возможно двумя способами:
· из открытого документа. При этом в составной документ можно включить лишь некоторый фрагмент из документа-источника;
· из файла. При этом документ-источник полностью включается в составной документ.
Обратите внимание! Для связывания объекта необходимо, чтобы объект был сохранен в файле как документ или его часть.
Связывание объекта из открытого документа выполняется следующим образом:
· в приложении-источнике выделяется объект, который будет связываться;
· выделенный объект переносится в буфер обмена с помощью командыКопировать;
· осуществляется переход в приложение-приемник, в котором формируется составной документ, и указатель мыши устанавливается в место вставки объекта;
· вводится командаСпециальная вставка;
· в диалоговом окне «Специальная вставка» отмечается кнопка выбора <Связать>, указывается способ вставки объекта (в обычном виде или в виде значка) и нажимается кнопка<ОК>.
· Связывание с файлом (на примере текстового процессора Word) состоит в следующем:
· в составном документе указывается место вставки;
· вводится командаФайл из менюВставка;
· в диалоговом окне «Вставка файла» (см. рис. 12.16) устанавливаются флажок <Связь с файлом> и другие необходимые параметры, затем выбирается документ, в котором хранится объект;