Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Поддержка технологий COM >> Класс TOleContainer >> Использование команд копирование в буфер обмена и вставки из буфера обмена

[Назад]    [Содержание ]    [Вперед]

  


Использование команд копирование в буфер обмена и вставки из буфера обмена


Благодаря универсальному механизму обмена данными, описанному ранее в этой главе, возможно также использование буфера обмена Windows для передачи OLE-объектов. И вновь на noмощь приходит компонент TOleContainer.

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

procedure TMainForm.CopyItemClick(Sender: TObject);
begin
═════if ActiveMDIChild <> nil then
═════TMDIChild(ActiveMDIChild).OleContainer.Copy;
end;

После помещения OLE-объекга в буфер обмена необходим только один дополнительный шаг для его правильного чтения в компонент TOleContainer. Перед вставкой содержимого буфера обмена в TOleContainer следует проверить значение свойства CanPaste, чтобы удостовериться, что данные в буфере обмена подходят для OLE-объекта. После этого можно открыть диалоговое окно Paste Special для вставки объекта в TOleContainer с помощью вызова метода PasteSpecialDialog(), как показано в приведенном ниже фрагменте кода. Диалоговое окно Paste Special показано на рис. 17.

procedure TMainForm.PasteItemClick(Sender: TObject);
begin
═════if ActiveMDIChild <> nil then
══════════with TMDIChild(ActiveMDIChild).0leContainer do
══════════{ Перед открытием диалогового окна проверьте, что }
══════════{ в буфере обмена находятся подходящие ОLЕ-объекты. }
═══════════════if CanPaste then PasteSpecialDialog;
end;


Рис. 17. Диалоговое окно Paste Special

После запуска приложения сервер управляет OLE-объектом в активной дочерней MDI-форме с помощью строк меню и панелей инструментов приложения. На рис. 18 и 19 показаны возможности OLE ? MDI OLE-приложения управляет двумя различными OLE-серверами.


Рис. 18. Редактирование внедренного документа Microsoft Word 97


Рис. 19. Редактирование внедренного рисунка

Полный листинг главного модуля MDI OLE-приложения приведен в листинге.



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017