Объект CalloutFormat

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

   
Этот объект используется для форматирования выносок. Для того, чтобы получить доступ
к свойствам этого объекта, нужно воспользоваться методом Callout объекта Shape.

   
Перечислим основные свойства этого объекта.

  • Accent - свойство логического типа, определяющее наличие разделительной линии, отделяющей текст выноски от линии выноски.
  • Angle - задает угол выноски. Если линии выноски содержат более одного сегмента, этот параметр задает угол наиболее
    удаленного от текст элемента. Возможные значения:
    msoCalloutAngle30 (2), msoCalloutAngle45 (3), msoCalloutAngle60 (4), msoCalloutAngle90 (5), msoCalloutAngleAutomatic (1), msoCalloutAngleMixed (-2).
    При значении msoCalloutAngleAutomatic линии выноски поддерживают тот угол, который установлен пользователем.
  • AutoAttach - свойство логического типа, определяющее местоположение выноски, в зависимости от расположения линий выноски (True -
    местоположение выноски меняется, False - нет).
  • AutoLength - свойство логического типа, определяющее, сохраняет ли первый сегмент выноски свой размер (False) или масштабируется
    (True) при перемещении выноски.
  • Border - свойство логического типа, определяющее наличие границы выноски.
  • Drop - возвращает расстояние по вертикали (в пунктах) от края ограничительной рамки выноски до линии выноски.
  • DropType - возвращает значение, указывающее, где линия выноски соединяется с текстовым полем выноски. Возможные значения:
    msoCalloutDropBottom (4), msoCalloutDropCenter (3), msoCalloutDropCustom (1), msoCalloutDropMixed (-2), msoCalloutDropTop (2).
  • Gap - возвращает расстояние по горизонтали (в пунктах) от края ограничительной рамки выноски до линии выноски.
  • Length - когда свойство AutoLength выноски установлено в значение False, это свойство возвращает
    длину (в пунктах) первого сегмента линии выноски (сегмент прикреплен к тексту выноски).
    Применяется только к выноске, линии которого состоят более чем из одного сегмента (типа msoCalloutThree и msoCalloutFour).
  • Type - определяет тип выноски. Возможные значения:
    msoCalloutFour (4), msoCalloutMixed (-2), msoCalloutOne (1), msoCalloutThree (3), msoCalloutTwo (2).

   
Приведем пример использования некоторых свойств этого объекта.

   
На форме определяются некоторые парметры этого объекта, после чего, по нажатию кнопки "Применить заданные параметы", они используются для форматирования
выноски, расположенной на первом слайде презентации.

   
Результат работы приложения изображен на рисунке 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.

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

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



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

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