Коллекция Shapes позволяет добавлять в документ объекты, созданные и
отображаемые с помощью программ-серверов OLE (OLE-серверов). OLE-
объекты в документах Word могут отображаться так же, как они отобража-
ются в приложениях, предназначенных для их создания и редактирования.
Если приложение, сопоставленное объекту, не является OLE-сервером, то
объект отображается в виде ярлыка. Возможности Word в управлении таки-
ми объектами скудны и ограничиваются заданием координат и размеров.
Кроме того, можно активизировать данные объекты.
Примечание
OLE (Object Linking and Embedding) — технология связывания и внедрения
объектов.
Чтобы управлять внутренними свойствами OLE-объекта, внедренного в до-
кумент, необходимо получить доступ к объектам и методам этого объекта.
OLE-объект создается с помощью метода AddOLEObject. Спецификация
вызова объекта включает ряд аргументов, передаваемых при вызове метода.
Аргументами метода являются имя класса, имя файла, признак связи с фай-
лом на диске и т. д. Есть два синтаксиса вызова метода AddOLEObject. При
этом создаются объекты, имеющие некоторые отличия (вы можете разо-
браться с этими отличиями самостоятельно). Здесь мы рассмотрим создание
OLE-объекта и его активизацию в документе Word на примере следующих
процедур.
Создание, выбор и активизация OLE-объекта в документе Word
procedure TForml.ButtonlOClick(Sender: TObject);
begin
W.ActiveDocument.Shapes.AddOLEObj ect(ClassType: ='Excel.Sheet',
Left:=10, Top:=10, Width:=100, Height:=100);
end;
procedure TForml.ButtonllClick(Sender: TObject);
begin
if not OpenPictureDialogl.Execute then exit;
W.ActiveDocument.Shapes.AddOLEObject(ClassType:='Paint.Picture',
FileName:=OpenPictureDialogl.FileName,
Left:=10, Top:=10, Width:=100, Height:=100);
end;
procedure TOKBottomDlg6.ListBoxlClick(Sender: TObject);
begin
MyOleObject:=Forml.W.ActiveDocument.Shapes.Item(ListBoxl.Iteralndex+l) ;
end;
procedure TOKBottomDlg6.ButtonlClick(Sender: TObject);
begin
MyOleObject.Activate;
end;
Первая процедура создает новый лист Excel, вторая создает OLE-объект —
Paint. Picture и загружает реальный рисунок из файла. Третья процедура по-
зволяет выбрать нужный объект из списка коллекции Shapes. Последняя
процедура активизирует OLE-объект, что приводит к запуску программы —
OLE-сервера. Создадим несколько OLE-объектов различных типов как с
помощью приведенного исходного текста, так и обычным путем — как это
делают пользователи. Запустим приложение (см. сопроводительный диск
книги) и получим список OLE-объектов. После чего мы можем выбрать и
активизировать любой из них (рис. 8.19).
Рис. 8.19. Создание и активизация OLE-объектов в документе Word |