На этом шаге мы рассмотрим основные свойства этого объекта.
Этот объект используется для форматирования выносок. Для того, чтобы получить доступ к свойствам этого объекта, нужно воспользоваться методом Callout объекта Shape.
Перечислим основные свойства этого объекта.
Приведем пример использования некоторых свойств этого объекта.
На форме определяются некоторые парметры этого объекта, после чего, по нажатию кнопки "Применить заданные параметы", они используются для форматирования выноски, расположенной на первом слайде презентации.
Результат работы приложения изображен на рисунке 1.
Рис.1. Результат работы приложения
Полный текст приложения:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComObj, StdCtrls; type TForm1 = class(TForm) Button1: TButton; CheckBox1: TCheckBox; Button3: TButton; Button4: TButton; Label3: TLabel; ComboBox3: TComboBox; Label4: TLabel; ColorDialog1: TColorDialog; Button7: TButton; ComboBox1: TComboBox; Label1: TLabel; ComboBox2: TComboBox; Label2: TLabel; ComboBox4: TComboBox; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label11: TLabel; ComboBox5: TComboBox; ComboBox6: TComboBox; ComboBox7: TComboBox; ComboBox9: TComboBox; Button5: TButton; procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button5Click(Sender: TObject); private procedure Slide1(Sender: TObject); { Private declarations } public { Public declarations } end; const //Работа с цветом ppBackground = $00000001; ppForeground = $00000002; ppShadow = $00000003; ppTitle = $00000004; ppFill = $00000005; ppAccent1 = $00000006; ppAccent2 = $00000007; ppAccent3 = $00000008; //Виды текста ppDefaultStyle = $00000001; // стандартный текст ppTitleStyle = $00000002; // текст заголовков ppBodyStyle = $00000003; // основной текст var Form1: TForm1; implementation var W:Variant; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin W:=CreateOleObject('PowerPoint.Application'); end; procedure TForm1.CheckBox1Click(Sender: TObject); begin W.Visible:=CheckBox1.Checked; end; procedure TForm1.Button3Click(Sender: TObject); const msoShapeLineCallout2 = 110; // Выноска var V: Variant; begin W.Presentations.Add; W.ActivePresentation.Slides.Add(1,1); //Второй параметр - ppLayoutTitle Slide1(Self); // Заполнить 1-й слайд // Добавить выноску W.ActivePresentation.Slides.Item(1).Shapes .AddShape(msoShapeLineCallout2, 292, 77.25, $72, 48); V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3) .TextFrame.TextRange; V.Characters(Start:=1,Length:=0).Text:='Выноска'; end; procedure TForm1.Slide1(Sender: TObject); // Заполнить 1-й слайд var V,V1: Variant; begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(1) .TextFrame.TextRange; V.Characters(Start:=1,Length:=0).Text:='Презентация'; V.Font.Name := 'Times New Roman'; V.Font.Size := 44; V.Font.Bold := 0; // msoFalse V.Font.Italic := 0; // msoFalse V.Font.Underline := 0; // msoFalse V.Font.Shadow := 0; // msoFalse V.Font.Emboss := 0; // msoFalse V.Font.BaseLineOffset := 0; V.Font.AutoRotateNumbers := 0; // msoFalse V.Font.Color.SchemeColor := 4; // ppTitle V1:=W.ActivePresentation.Slides.Item(1).Shapes.Item(2) .TextFrame.TextRange; V1.Characters(Start:=1,Length:=0).Text:='Бизнес-план' + Chr(13) + 'директора фирмы "Рога и копыта"'; V1.Font.Name := 'Times New Roman'; V1.Font.Size := 32; V1.Font.Bold := 0; // msoFalse V1.Font.Italic := 0; // msoFalse V1.Font.Underline := 0; // msoFalse V1.Font.Shadow := 0; // msoFalse V1.Font.Emboss := 0; // msoFalse V1.Font.BaseLineOffset := 0; V1.Font.AutoRotateNumbers := 0; // msoFalse V1.Font.Color.SchemeColor := 2; // ppForeground end; procedure TForm1.Button4Click(Sender: TObject); begin W.Quit; Close; end; procedure TForm1.Button7Click(Sender: TObject); // Выбор цвета var R,G,B: Byte; // Составляющие цветов N: Integer; // Номер слайда L: Integer; // Элемент схемы begin if ColorDialog1.Execute then begin R:= ColorDialog1.Color and $FF; G:= (ColorDialog1.Color and $FF00) shr 8; B:= (ColorDialog1.Color and $FF0000) shr 16; N:= ComboBox1.ItemIndex+1; L:= ComboBox3.ItemIndex+1; W.ActivePresentation.Slides.Item(N).ColorScheme .Colors(L).RGB:=RGB(R,G,B); end; end; procedure TForm1.Button5Click(Sender: TObject); // Применение заданных параметров var V: Variant; begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Callout; if ComboBox5.ItemIndex=0 then V.Accent := False else V.Accent := True; if ComboBox6.ItemIndex=5 then V.Angle:=-2 else V.Angle := ComboBox6.ItemIndex+1; if ComboBox7.ItemIndex=0 then V.Border := False else V.Border := True; if ComboBox9.ItemIndex=4 then V.Type:=-2 else V.Type := ComboBox9.ItemIndex+1; end; end.
На следующем шаге мы рассмотрим объект ConnectorFormat.