Заливка надписи полностью определяется объектом Fill и его свойствами.
Этот объект принадлежит родительскому объекту TextBox, а доступ к нему
осуществляется следующим образом: WordTextBox.Fill, где WordTextBox —
ссылка на объект TextBox. В самом простом случае в качестве заливки мож-
но использовать цветовой фон, который задается комбинацией из трех
констант, соответствующих цветам модели RGB (Red — красный, Green —
зеленый, Blue — синий), например:
ForeColor.RGB:=RGB(100,150,220);
С помощью следующей процедуры можно в диалоговом режиме изменять
заливку области нашей надписи.
Изменение заливки надписи
procedure T0KBottomDlg3.ButtonlClick(Sender:T0bject);
begin
i f not ColorDialogl.Execute then exit;
WordTextBox.Fill.ForeColor.RGB:=ColorDialogl.Color;
end;
Результат выполнения данной процедуры представлен на рис. 8.3.
Рис. 8.3. Изменение заливки надписи
Если для заливки использовать два цвета, то такой способ заливки называ-
ется градиентным и определяется, в дополнение к обычному способу одно-
цветной заливки, еще тремя свойствами — значением второго цвета в фор-
мате RGB (свойство BackColor.RGB), способом задания и направлением
градиента (метод TwoColorGradient). Рассмотрим следующий пример:
Использование градиентной заливки для надписи
procedure T0KBottomDlg3.Button2Click(Sender:TObject);
begin
i f not ColorDialogl.Execute then exit;
WordTextBox.Fill.BackColor.RGB:=ColorDialogl.Color;
end;
procedure TOKBottomDlg3.CheckBoxlClick(Sender:TObject);
begin
i f CheckBoxl.Checked then
WordTextBox.Fill.TwoColorGradient(Gradient.Itemlndex+l,
napravlenie.Itemlndex+l)
else WordTextBox.Fill.Solid;
end;
Первая процедура задает второй цвет, а вторая — стиль и направление гра-
диента. Внешний вид формы приложения и результат представлены на
рис. 8.4.
Для градиентной заливки более сложной формы можно выбрать предопреде-
ленный стиль градиентной заливки из предоставленного набора. Вид такой
заливки определяется константой, задаваемой в качестве третьего аргумента
метода Fill.PresetGradient (первый и второй аргументы — стиль и направле-
ние градиента). Это можно сделать с помощью следующей процедуры:
Использование предопределенного градиента для заливки надписи
procedure TOKBottomDlg3.PresetGradientChange(Sender: TObject);
begin
WordTextBox.Fill.PresetGradient(Gradient.Itemlndex+l,
napravlenie.Itemlndex+l, PresetGradient.Itemlndex+l);
end;
Результат выполнения процедуры представлен на рис. 8.5.
Еще один способ заливки надписи — задание текстуры. Текстура представ-
ляет собой многократно повторяемый рисунок, заполняющий прямоуголь-
ную область надписи. Рисунок текстуры определяется выбором в списке
определенных числовых целочисленных констант и задается вызовом ме-
тода:
Fill.PresetTextured(textured:integer) ;
Рис. 8.4. Градиентная заливка надписи
Рис. 8.5. Заливка надписи предопределенным градиентом
Использование предопределенной текстуры для заливки надписи
procedure TOKBottomDlg3.TextureChange(Sender:TObject);
begin
WordTextBox.Fill.PresetTextured(Texture.Itemlndex+l);
end;
Создадим форму Delphi с элементами управления и разместим в ее модуле
представленную процедуру. Внешний вид формы и результат работы про-
граммы показаны на рис. 8.6.
Рис. 8.6. Текстурная заливка надписи
В качестве текстуры можно также использовать рисунок, загружаемый из
файла. Для этого применим метод UserTextured объекта Fill. Единственный
аргумент этого метода — строка — ссылка на путь и имя графического
файла.
Использование рисунка в качестве текстуры для надписи
procedure TOKBottomDlg3.Button3Click(Sender:TObject);
begin
WordTextBox.Fill.UserTextured('с:Хрыбак.Ьтр');
end;
Результат выполнения процедуры представлен на рис. 8.7.
Рисунок, загружаемый из файла, можно использовать не только в качестве
текстуры, но и как фоновый рисунок (заливку), который сжимается или
растягивается, вписываясь в размеры области объекта TextBox. Метод
UserPicture, аргументом которого является строка — путь и имя графическо-
го файла, позволяет использовать рисунок в качестве фона объекта TextBox.
Рассмотрим следующую процедуру.
Исполььзование рисунка в качестве фона для надписи
procedure TOKBottomDlg3.Button4Click(Sender: TObject);
var dir_:string;
begin
GetDir(O,dir_);
if not OpenPictureDialogl.Execute then begin
ChDir(dir_);
exit;
end;
ChDir(dir_) ;
WordTextBox.Fill.UserPicture(OpenPictureDialogl.FileName);
end;
Результат выполнения представлен на рис. 8.8.
Рис. 8.7. Использование рисунка в качестве текстуры для надписи
Еще одним и последним способом задания фона текстовой области надписи
является использование узора. Узор определяется собственно рисунком
(штриховкой), а также цветом фона и цветом штриховки. Узор определяется
константой, выбираемой более чем из сотни возможных. Для выбора узора
используется метод Patterned(Pattern:integer) объекта Fill, где Pattern опреде-
ляет используемую штриховку. Для задания цветов фона и штриховки в
формате RGB предназначены свойства BackColor.RGB и ForeColor.RGB.
Рассмотрим следующий фрагмент исходного текста.
Использование штриховки в качестве фона надписи
procedure TOKBottomDlg3.ButtonlClick(Sender: TObject);
begin
if not ColorDialogl.Execute then exit;
WordTextBox.Fill.ForeColor.RGB:=ColorDialogl.Color;
end;
procedure TOKBottomDlg3.Button2Click(Sender: TObject);
begin
if not ColorDialogl.Execute then exit;
WordTextBox.Fill.BackColor.RGB:=ColorDialogl.Color;
end;
procedure T0KBottomDlg3.PatternChange(Sender: TObject),
begin
WordTextBox.Fill.Patterned(Pattern.Itemlndex+l);
end;
Рис. 8.8. Пример использования рисунка в качестве фона для надписи
Первая процедура определяет цвет штриховки, вторая — цвет фона. Цвета
выбираются с помощью диалога ColorDialogl, возвращающего значение
цвета как комбинацию значений в формате RGB. Третья процедура опреде-
ляет вид штриховки с помощью элемента управления Pattern:TComboBox
(комбинированный список). Внешний вид формы с элементами управления
и результат выполнения программы представлены на рис. 8.9. |