Метод AddShape коллекции Shapes используется для создания геометриче-
ских фигур. Прямые, ломаные и кривые линии создаются другими метода-
ми. Вызов этого метода выглядит так:
AddShape(Type, Left, Top, Width, Height, Anchor);
Первый аргумент представляет собой целое число и определяет тип созда-
ваемого объекта, например Туре=1 соответствует прямоугольнику, набор
всех возможных типов геометрических фигур составляет более 130. Аргу-
менты Left, Top, Width, Height — числа, имеющие тип Extended и опреде-
ляющие положение и размеры создаваемого объекта. Аргумент Anchor —
объект типа Range, определяющий область, где будет создан объект. Для
записи текста в область объекта применяются те же методы и свойства, что
и к объекту TextBox (надписи). Создадим прямоугольник с помощью сле-
дующих процедур и запишем в него текст.
Создание геометрической фигуры (прямоугольника) и добавление текста
procedure TForml.Button7Click(Sender:TObject);
begin
W.ActiveDocument.Shapes.AddShaped, 100,100,130,100)
end;
procedure TOKBottomDlg5.ListBoxlClick(Sender:TObject);
begin
Shape:=Forml.W.ActiveDocument.Shapes.Item(
ListBoxl.Items.Strings[ListBoxl.Itemlndex])
end;
procedure TOKBottomDlg5.ButtonlClick(Sender: TObject);
begin
Shape.TextFrame.TextRange.Text:=Text.Text
end;
Результат выполнения этих процедур может выглядеть, как показано на
рис. 8.16.
Рис. 8.16. Создание прямоугольника и добавление в него текста
Создав однажды геометрическую фигуру, можно изменить ее внешний вид,
изменив значение ее стиля. При этом остальные параметры, например тол-
шина и цвет линий, а также текст, останутся без изменений, если новый
тип предполагает их наличие. Для изменения типа фигуры достаточно из-
менять свойство AutoShapeType объекта, записав в него новое значение.
Эффект будет таким же, как при создании нового объекта.
Изменим тип и текст созданной ранее геометрической фигуры (прямо-
угольника) с помощью следующей процедуры.
Изменение типа геометрической фигуры
procedure TоKBottomDlg5.AutoShapeTypeChange(Sender:TObject);
begin
Shape.AutoShapeType:=AutoShapeType.Value;
end;
Текст, размещенный в полученной фигуре, может автоматически изменить-
ся, чтобы вписаться в размеры новой фигуры.
Возможные результаты выполнения этой процедуры показаны на рис. 8.17
и 8.18.
Рис. 8.17. Восьмиугольник и "Куб" |