Оформление презентаций (окончание)

   
На этом шаге мы рассмотрим работу с текстом.

   
Для изменения оформления текста в презентации следует обратится к свойству TextStyles объекта SlideMaster, содержащему
три объекта типа TextStyle (для текста заголовков, основного и стандартного текстов):

  const
   ppDefaultStyle = $00000001;//стандартный текст
   ppTitleStyle   = $00000002;// текст заголовков
   ppBodyStyle    = $00000003;// основной текст

   
Объект TextStyle обладает свойствами:

  • TextFrame - содержит сведения о расположении текста внутри текстового поля и
  • Ruler - содержит сведения о позициях табуляции и сдвигах между различными уровнями.

   
TextFrame является объектом и содержит следующие основные свойства:

  • AutoSize - определяет, изменяет ли фигура размеры автоматически, чтобы вместить текст. Возможные значения:
    ppAutoSizeMixed (-2 (&HFFFFFFFE)), ppAutoSizeNone (0) и ppAutoSizeShapeToFitText (1).
  • HasText - определяет, содержится ли в фигуре текст. Возможные значения:
    msoFalse (0), msoTrue (-1 (&HFFFFFFFF)).
  • MarginBottom, MarginLeft, MarginRight, MarginTop - задает размер (в точках) соответствующих границ. Границей считается
    расстояние между границей текстового кадра и границей прямоугольника, описывающего данный текстовый кадр.
  • TextRange - возвращает ссылку на объект TextRange.
  • WordWrap - определяет, разбиваются ли автоматически строки текста, чтобы поместиться в фигуре. Возможные значения:
    msoFalse (0), msoTrue (-1 (&HFFFFFFFF)).
  • VerticalAnchor - определяет вертикальное выравнивание текста в текстовом кадре. Возможные значения:
    • msoAnchorBottom (4) - выравнивание по нижней границе текстовой строки;
    • msoAnchorBottomBaseLine (5) - выравнивание по нижней границе базовой линии текстовой строки;
    • msoAnchorMiddle (3) - выравнивание по середине текстовой строки;
    • msoAnchorTop (1) - выравнивание по верхней границе текстовой строки;
    • msoAnchorTopBaseline (2) - выравнивание по верхней границе базовой линии текстовой строки;
    • msoVerticalAnchorMixed (-2 (&HFFFFFFFE)).
  • HorizontalAnchor - определяет горизонтальное выравнивание текста в текстовом кадре. Возможные значения:
    • msoAnchorNone (1) - выравнивания нет;
    • msoHorizontalAnchorMixed (-2 (&HFFFFFFFE));
    • msoAnchorCenter (2) - выравнивание по центру.

   
Свойство Levels объекта TextStyle содержит пять объектов TextStyleLevel, содержащих сведения об
оформлении текста разных уровней.

   
Следующий фрагмент кода устанавливает отступ для основного текста от левого края содержащего его объекта равным 10 пунктам,
размер шрифта первого уровня основного текста равным 42 пунктам, а имя этого шрифта равным значению Courier:

  W.ActivePresentation.SlideMaster.TextStyles.Item(ppBodyStyle).
      TextFrame.MarginLeft:=10;
  W.ActivePresentation.SlideMaster.TextStyles.Item(ppBodyStyle).
      Levels.Item(1).Font.Size:=42;
  W.ActivePresentation.SlideMaster.TextStyles.Item(ppBodyStyle).
      Levels.Item(1).Font.Name:='Courier';

   
Приведем полный текст приложения:

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 ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(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);
begin
 W.ActivePresentation.Slides.Add(1,2{ppLayoutText});
end;


procedure TForm1.Button4Click(Sender: TObject);
begin
 W.Quit;
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;

procedure TForm1.Button6Click(Sender: TObject);
begin
  W.ActivePresentation.SlideMaster.TextStyles.Item(ppBodyStyle)
         .TextFrame.MarginLeft:=10;
  W.ActivePresentation.SlideMaster.TextStyles.Item(ppBodyStyle)
         .Levels.Item(1).Font.Size:=42;
  W.ActivePresentation.SlideMaster.TextStyles.Item(ppBodyStyle)
          .Levels.Item(1).Font.Name:='Courier';
end;

end.

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

   
Результат работы приложения приведен на рисунке 1.


Рис.1. Результат изменения текста

   
Отметим, однако, что, помимо применения цветовых схем, шаблонов и образцов ко всей презентации, PowerPoint
позволяет создавать оформление для отдельных слайдов. Об этом мы поговорим в следующих шагах.

   
Со следующего шага мы начнем рассматривать работу со слайдами.



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

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