Свойства и методы объекта WordArt

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

   
Создав объект WordArt, мы получаем доступ к его свойствам и методам, определяемым его дочерним
объектом TextEffect (таблица 1).

Таблица 1. Свойства и методы объекта TextEffect

Свойство или методТипНазначение
AlignmentIntegerВыравнивание
FontBoldBooleanTrue/False - полужирное/светлое начертание
FontItalicBooleanTrue/False - курсивное/прямое начертание
FontNameStringНаименование шрифта
FontSizeIntegerРазмер шрифта
KernedPairsBooleanКернинг пар символов1
NormalizedHeightBooleanTrue - выравнивание символов по высоте
PresetShapeIntegerФорма текста объекта WordArt
PresetTextEffectIntegerСтиль объекта WordArt
RotatedCharsBooleanПоворот символов на 90 градусов против часовой стрелки
TextStringСодержание текста объекта WordArt
TrackingExtendedОпределяет межсимвольное расстояние; рекомендуемые значения - в диапазоне от 0,8 до 1,5
ToggleVerticalTextМетодПереключает способ расположения символов текста от вертикального к горизонтальному и наоборот

   
Изменить цвет символов текста можно с помощью того же метода, что и при установке заливки надписи
(объекта TextBox).

   
Изменим форму текста с помощью свойства PresetShape объекта TextEffect. Реализовать это
позволяет следующее приложение.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj, Spin, ExtDlgs, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    ListBox1: TListBox;
    Label3: TLabel;
    Button4: TButton;
    Label2: TLabel;
    Edit1: TEdit;
    UpDown1: TUpDown;
    Label1: TLabel;
    Memo1: TMemo;
    Label4: TLabel;
    ComboBox1: TComboBox;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
  E:variant;
  WordArt:Variant;
{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
//Создание объекта Excel и отображение окна
begin
  E:=CreateOleObject('Excel.Application');
  E.Visible:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
//Создание рабочей книги
begin
  E.WorkBooks.Add;
end;


procedure TForm1.Button3Click(Sender: TObject);
//Создание фигуры
var
  left,top:Extended;
begin
  left:=10;
  top:=11;
  if E.ActiveWorkBook.ActiveSheet.Shapes.Count>0 then
  begin
   left:=E.ActiveWorkBook.ActiveSheet.Shapes.
      item(E.ActiveWorkBook.ActiveSheet.Shapes.count).Left+20;
   top:=E.ActiveWorkBook.ActiveSheet.Shapes.
      item(E.ActiveWorkBook.ActiveSheet.Shapes.count).Top+20;
  end;
  E.ActiveWorkBook.ActiveSheet.Shapes.AddTextEffect(
     StrToInt(Edit1.Text),Text:=Memo1.Lines.Text,
     FontName:='Tahoma', FontSize:=48, FontBold:=True,
     FontItalic:=False, Left:=left,Top:=top);
end;

procedure TForm1.Button4Click(Sender: TObject);
//Заполнить список фигур
var
  a: Integer;
begin
  ListBox1.Items.Clear;
  for a:=1 to E.ActiveWorkBook.ActiveSheet.Shapes.Count do
    ListBox1.Items.Add(E.ActiveWorkBook.ActiveSheet.Shapes.Item(a).Name);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
// При активизации строки объекта ListBoxl, используя имя объекта,
// выделяем его из коллекции Shapes и записываем ссылку на этот объект
//в переменную WordArt.
begin
  WordArt:=E.ActiveWorkBook.ActiveSheet.Shapes.Item(
    ListBox1.Items.Strings[ListBox1.ItemIndex]);
end;


procedure TForm1.ComboBox1Change(Sender: TObject);
//Изменение формы текста для объекта WordArt
begin
    WordArt.TextEffect.PresetShape:=ComboBox1.ItemIndex+1;
end;

end.

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

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


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

   
В заключение приведем список констант, определяющих форму текста.

Таблица 1. Список констант, определяющих форму текста

Мнемоническое обозначениеКонстанта
msoTextEffectShapePlainText1
msoTextEffectShapeStop2
msoTextEffectShapeTriangleUp3
msoTextEffectShapeTriangleDown4
msoTextEffectShapeChevronUp5
msoTextEffectShapeChevronDown6
msoTextEffectShapeRingInside7
msoTextEffectShapeRingOutside8
msoTextEffectShapeArchUpCurve9
msoTextEffectShapeArchDownCurve10
msoTextEffectShapeCircleCurve11
msoTextEffectShapeButtonCurve12
msoTextEffectShapeArchUpPour13
msoTextEffectShapeArchDownPour14
msoTextEffectShapeCirclePour15
msoTextEffectShapeButtonPour16
msoTextEffectShapeCurveUp17
msoTextEffectShapeCurveDown18
msoTextEffectShapeCanUp19
msoTextEffectShapeCanDown20
msoTextEffectShapeWave121
msoTextEffectShapeWave222
msoTextEffectShapeDoubleWave123
msoTextEffectShapeDoubleWave224
msoTextEffectShapeInflate25
msoTextEffectShapeDeflate26
msoTextEffectShapeInflateBottom27
msoTextEffectShapeDeflateBottom28
msoTextEffectShapeInflateTop29
msoTextEffectShapeDeflateTop30
msoTextEffectShapeDeflateInflate31
msoTextEffectShapeDeflateInflateDeflate32
msoTextEffectShapeFadeRight33
msoTextEffectShapeFadeLeft34
msoTextEffectShapeFadeUp35
msoTextEffectShapeFadeDown36
msoTextEffectShapeSlantUp37
msoTextEffectShapeSlantDown38
msoTextEffectShapeCascadeUp39
msoTextEffectShapeCascadeDown40

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



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

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