Надпись (объект TextBox) создается с помощью метода AddTextbox коллек-
ции Shapes. При вызове этого метода необходимо указать параметры созда-
ваемого объекта — направление текста объекта, его координаты и размеры.
Если метод AddTextbox вызывается из приложений Delphi, то переменные,
задающие координаты и размеры, должны иметь тип Extended. Следующий
пример процедуры демонстрирует использование данного метода в прило-
жениях.
Создание надписи
procedure TForml.Button3Click(Sender: TObject);
const msoTextOrientationHorizontal=l;
var left_,top_:Extended;
begin
left_:=100;
top_:=100;
TextBox:=E.ActiveWorkBook.ActiveSheet.Shapes.AddTextBox(
msoTextOrientationHorizontal, left_,top_, 100, 100);
end;
Результат выполнения представленной процедуры, если в нее внести незна-
чительные изменения, может выглядеть примерно так, как показано на
рис. 13.1. В данном примере создан объект с определенными координатами
и размерами, заданными в управляющей программе. Задано горизонтальное
направление текста, но при создании объекта можно выбрать любой из
возможных типов ориентации (направления) текста (см. Приложение 1).
Даже если объект TextBox создан с определенными свойствами, это не зна-
чит, что свойства этого объекта нельзя изменить впоследствии. Для этого
необходимо получить доступ к созданному объекту, а затем к свойствам са-
мого объекта". Доступ к объекту коллекции Shapes можно получить, исполь-
зуя метод Item(i) данной коллекции. Например, оператор
S h a p e : = S h a p e s . I t e m ( i ) ;
помещает в переменную Shape ссылку на элемент коллекции, после чего мы
можем изменять свойства непосредственно самого объекта.
Рассмотрим основные свойства объекта TextBox. Поскольку этот объект
предназначен в основном для отображения текста, параметры шрифта, а
также направление и способ выравнивания текста являются одними из ос-
новных его свойств. Внутренние поля тоже определяют положение текста
внутри надписи. С использованием свойств объекта Line, принадлежащего
объекту TextBox, задаются тип, толщина и цвет линий, ограничивающих
объект. Заливка надписи (цветом, узором или рисунком) задается с по-
мощью свойств и методов объекта Fill, который тоже принадлежит объекту
TextBox. Размер и положение надписи определяются ее свойствами Width,
Height, Top, Left, которые в приложениях Delphi должны иметь тип
Extended.
Рис. 13.1. Создание надписи
Надпись можно защитить и скрыть текст, но защита действует только тогда,
когда включена защита листа.
Уже понятно, что объект TextBox представляет собой систему взаимосвя-
занных объектов, имеющую древовидную структуру. Для упрощения разбе-
рем только ее основные составляющие (рис. 13.2).
Из рис. 13.2 ясно, что доступ к основным визуальным свойствам надписи
осуществляется через промежуточные звенья. Например, все свойства текста
и сам текст содержатся в свойствах и объектах, принадлежащих объекту
TextFrame. Попробуем изменить некоторые его характеристики. Очевидно,
чтобы отследить изменения текста, необходимо записать сам текст. Для это-
го используем свойство Text, в которое можно записать или из которого
можно прочитать текст надписи. Обращаем внимание на то, что свойство
Text принадлежит объекту Characters, а не объекту TextFrame.
Рис. 13.2. Объектная модель объекта TextBox
Запись текста надписи
procedure TOKBottomDlg2.Memo1Change(Sender: TObject);
begin
TextBox.TextFrame.Characters.Text:=Memol.Text;
end;
После того как текст записан, изменяем его направление (ориентацию), ис-
пользуя свойство Orientation объекта TextFrame.
Изменение направления текста
procedure TOKBottomDlg2.orientationChange(Sender: TObject);
begin
TextBox.TextFrame.Orientation: «Orientation.Itemlndex+l;
end;
Дополнительно, для изменения положения текста можно воспользоваться
свойствами, задающими выравнивание текста и его поля (исходный текст
приложения представлен на сопроводительном компакт-диске книги). Ре-
зультат применения различных вариантов ориентации и выравнивания тек-
ста представлен на рис. 13.3.
Установка необходимого шрифта осуществляется настройкой определенных
свойств объекта Font. В предыдущей главе мы рассматривали, как он выби-
рается применительно к тексту ячейки. Для других объектов процедура ана-
логична.
Рис. 13.3. Варианты ориентации и выравнивания текста в TextBox |