На этом шаге мы рассмотрим методы этого объекта.
Перечислим основные методы этого объекта.
Метод Background определяет, что фон объекта (фигуры) будет совпадать с фоном слайда. Если изменить фон слайда, то фон фигуры также изменится (метод не имеет параметров).
Метод OneColorGradient задает одноцветную градиентную заливку с указанными параметрами. Синтаксис этого метода:
OneColorGradient (Style, Variant, Degree),
Метод Patterned задает заливку-узор с указанными параметрами. Общий вид:
Patterned(Pattern),
Метод PresetGradient задает заливку с одним из предопределенных типов градиента. Синтаксис метода:
PresetGradient(Style, Variant, PresetGradientType),
Метод PresetTextured задает текстурную заливку с текстурой указанного типа. Общий вид метода:
PresetTextured (PresetTexture),
Метод Solid задает сплошную заливку. Данный метод не имеет параметров.
Метод TwoColorGradient задает двухцветную градиентную штриховку. Общий вид этого метода следующий:
TwoColorGradient(Style, Variant),
Метод UserPicture использует в качестве заливки рисунок, загруженный из файла. Рисунок масштабируется так, чтобы заполнить весь объект. Общий вид:
UserPicture (PictureFile),
Метод UserTextured задает текстуру, определенную пользовательским графическим файлом. Рисунок, содержащийся в файле, повторяется до заполнения объекта. Общий вид:
UserTextured(TextureFile),
В заключение приведем приложение, иллюстрирующее исспользование некоторых из указанных методов.
Вот его текст:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComObj, StdCtrls, ExtDlgs; type TForm1 = class(TForm) Button1: TButton; CheckBox1: TCheckBox; Button3: TButton; Button4: TButton; ColorDialog1: TColorDialog; Label1: TLabel; Button5: TButton; Button2: TButton; Label2: TLabel; ComboBox1: TComboBox; Label3: TLabel; ComboBox2: TComboBox; Label4: TLabel; Edit1: TEdit; Label5: TLabel; ComboBox3: TComboBox; Label6: TLabel; ComboBox4: TComboBox; Label7: TLabel; ComboBox5: TComboBox; Button6: TButton; OpenPictureDialog1: TOpenPictureDialog; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button6Click(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 msoShapeHexagon = 10; var V: Variant; begin W.Presentations.Add; W.ActivePresentation.Slides.Add(1,1); //Второй параметр - ppLayoutTitle Slide1(Self); // Заполнить 1-й слайд W.ActivePresentation.Slides.Item(1).Shapes .AddShape(msoShapeHexagon, 50,5, 200,200); V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3) .TextFrame.TextRange; V.Characters(Start:=1,Length:=0).Text:='Шестиугольник'; // Задание цветов переднего плана и фона заливки V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; V.BackColor.RGB:=RGB(0,0,255); V.ForeColor.RGB:=RGB(255,0,0); 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.Button5Click(Sender: TObject); // Одноцветная градиентная заливка (OneColorGradient) var V: Variant; a,b: Integer; c: real; begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; a:=ComboBox1.ItemIndex+1; // Стиль градиента b:=ComboBox2.ItemIndex+1; // Вариант c:=StrToFloat(Edit1.Text); // Значение градиента V.OneColorGradient(a,b,c); end; procedure TForm1.Button7Click(Sender: TObject); // Заливка-узор var V: Variant; a: Integer; begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; a:=ComboBox3.ItemIndex+1; // Узор V.Patterned(a); end; procedure TForm1.Button8Click(Sender: TObject); // Заливка определенным типом градиента (PresetGradient) var V: Variant; a,b,c: Integer; begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; a:=ComboBox1.ItemIndex+1; // Стиль градиента b:=ComboBox2.ItemIndex+1; // Вариант c:=ComboBox4.ItemIndex+1; // Тип градиента V.PresetGradient (a,b,c); end; procedure TForm1.Button9Click(Sender: TObject); // Текстурная заливка (PresetTextured) var V: Variant; a: Integer; begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; a:=ComboBox5.ItemIndex+1; // Тип текстуры V.PresetTextured(a); end; procedure TForm1.Button10Click(Sender: TObject); // Двухцветная градиентная заливка (TwoColorGradient) var V: Variant; a,b: Integer; begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; a:=ComboBox1.ItemIndex+1; // Стиль градиента b:=ComboBox2.ItemIndex+1; // Вариант V.TwoColorGradient(a,b); end; procedure TForm1.Button6Click(Sender: TObject); // Загрузка рисунка var V: Variant; begin if OpenPictureDialog1.Execute then begin V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; V.UserPicture(OpenPictureDialog1.FileName); end; end; procedure TForm1.Button2Click(Sender: TObject); // Цвет переднего плана заливки var R,G,B: Byte; // Составляющие цветов V: Variant; 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; V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; V.ForeColor.RGB:=RGB(R,G,B); end; end; procedure TForm1.Button11Click(Sender: TObject); // Цвет фона заливки var R,G,B: Byte; // Составляющие цветов V: Variant; 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; V:=W.ActivePresentation.Slides.Item(1).Shapes.Item(3).Fill; V.BackColor.RGB:=RGB(R,G,B); end; end; end.
Результат работы приложения изображен на рисунке 1.
Рис.1. Результат работы приложения
Сначала нужно определить цвета переднего плана и фона, а потом, задавая различные значения параметров, воспользоваться соотвествующими кнопками для закраски шестиугольника.
На следующем шаге мы рассмотрим объект LineFormat.