Объект Slide

   
На этом шаге мы рассмотрим основные свойства объекта Slide.

   
Объект Slide представляет собой слайд презентации. Каждый объект Slide является членом коллекции Slides.
Объект Slide имеет большой набор свойств, наиболее употребляемые из которых приведены ниже:

  • свойство Shapes - возвращает коллекцию, которая содержит все рисованные объекты, содержащиеся в слайде или
    диапазоне слайдов;
  • свойство Background - возвращает объект ShapeRange, который содержит фон слайда. Для задания какого-либо
    значения свойству Background следует сначала задать значение False свойству FallowMasterBackground;
  • свойство FallowMasterBackground - определяет, наследует ли слайд цвет фона (значения - True/False);
  • свойство ColorScheme определяет объект ColorScheme, который представляет собой цветовую схему для
    данного слайда;
  • свойство HeadersFooters возвращает коллекцию HeadersFooters, которая содержит заголовки, нижние
    колонтитулы, номер, дату и время создания для данного слайда, мастера автосодержания или диапазона слайдов;
  • свойство Name - определяет имя объекта (в данном случае слайда). При добавлении слайда в презентацию ему
    автоматически присваивается имя SlideN, где N - целое число, определяемое порядком добавления слайдов. Таким
    образом, первый добавленный слайд будет иметь имя Слайд1, второй - Слайд2 и т.д.;
  • свойство Master - возвращает объект Master, который представляет собой мастер автосодержания;
  • свойство Layout - определяет разметку слайда. Значение данного свойства может равняться одной из констант,
    представленных на 242 шаге.

   
Приведем пример программы создания презентации со слайдом титульного листа. Вот процедура, реализующая данную задачу:

procedure TForm1.Button5Click(Sender: TObject);
var
 V,V1: Variant;
begin
 // Добавляем слайд с двумя прямоугольниками
 W.ActivePresentation.Slides.Add(1,1{ppLayoutTitle});
 // Заполняем первый прямоугольник
 V:=W.ActivePresentation.Slides.Item(1).Shapes.Item('Rectangle 2')
   .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('Rectangle 3')
   .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;

   
Общий вид картины созданного слайда показан на рисунке 1.


Рис.1. Презентация с одним слайдом

   
Добавим еще один слайд с маркированным списком. Текст такой процедуры будет иметь следующий вид:

procedure TForm1.Button6Click(Sender: TObject);
//Добавить еще один слайд
var
   V,V1: Variant;
begin
 W.ActivePresentation.Slides.Add(2,2{ppLayoutText});
 V:=W.ActivePresentation.Slides.Item(2).Shapes.Item('Rectangle 2')
   .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(2).Shapes.Item('Rectangle 3')
   .TextFrame.TextRange;
 V1.Characters(Start:=1,Length:=0).Text:='Описание продукции, ее уникальность;' + 
    Chr(13) + 'Стадия развития проекта;'+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;

   
Общий вид полученной презентации представлен на рисунке 2.


Рис.2. Презентация с двумя слайдами

   
Вот полный текст приложения:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComObj, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    CheckBox1: TCheckBox;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Button5: TButton;
    Button6: TButton;
    procedure Button1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { 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.Button2Click(Sender: TObject);
//Закрытие документа
begin
W.ActivePresentation.Close;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 W.Presentations.Add;
end;

procedure TForm1.Button5Click(Sender: TObject);
var
 V,V1: Variant;
begin
 W.ActivePresentation.Slides.Add(1,1{ppLayoutTitle});
 V:=W.ActivePresentation.Slides.Item(1).Shapes.Item('Rectangle 2')
   .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('Rectangle 3')
   .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;
end;

procedure TForm1.Button6Click(Sender: TObject);
//Добавить еще один слайд
var
   V,V1: Variant;
begin
 W.ActivePresentation.Slides.Add(2,2{ppLayoutText});
 V:=W.ActivePresentation.Slides.Item(2).Shapes.Item('Rectangle 2')
   .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(2).Shapes.Item('Rectangle 3')
   .TextFrame.TextRange;
 V1.Characters(Start:=1,Length:=0).Text:='Описание продукции, ее уникальность;' + 
    Chr(13) + 'Стадия развития проекта;'+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.ComboBox1Change(Sender: TObject);
begin
 case ComboBox1.ItemIndex of
  0 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppBackGround).RGB:=clRed;
  1 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppBackGround).RGB:=clGreen;
  2 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppBackGround).RGB:=clBlue;
  3 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppBackGround).RGB:=clBlack;
  4 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppBackGround).RGB:=clWhite;
 end;
end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
 case ComboBox2.ItemIndex of
  0 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppForeground).RGB:=clRed;
  1 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppForeground).RGB:=clGreen;
  2 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppForeground).RGB:=clBlue;
  3 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppForeground).RGB:=clBlack;
  4 : W.ActivePresentation.SlideMaster.ColorScheme
         .Colors(ppForeground).RGB:=clWhite;
 end;
end;

end.

Текст этого приложения можно взять здесь (227,8 Кб)

   
На следующем шаге мы рассмотрим основные методы этого объекта.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий