Заливка области определяется свойствами объекта Fill, который принадле-
жит объекту TextBox и является его свойством. Манипулируя объектом Fill,
мы можем настроить цвет и стиль заливки, фоновый рисунок и другие па-
раметры области. Самый простой вариант заливки заключается в выборе
цвета фона, который определяется свойством ForeColor объекта Fill. Для
более сложного варианта заливки необходимо использование других свойств
и методов объекта Fill, часть из которых представлены в табл. 13.1.
Таблица 13.1. Свойства и методы объекта Fill
Задание цвета заливки
procedure ToKBottomDlg4.ForeColorClick(Sender: TObject);
begin
Fill.ForeColor.RGB:=ColorDialogl.Color;
end;
Представленная процедура устанавливает для надписи одноцветную заливку
(рис. 13.13).
Рис. 13.13. Устанавливаем цвет заливки для надписи
Изменим значение свойства Transparency объекта Fill. Это придаст надписи
эффект прозрачности по отношению к листу рабочей книги Excel. Значение
свойства Transparency должно иметь тип Extended и находиться в пределах
от 0,00 до 1,00. Следующая процедура и результат ее выполнения (рис. 13.14)
демонстрируют этот эффект.
Задание прозрачности заливки
procedure TOKBottomDlg4.TransparencyChange(Sender: TObject);
begin
Fill.Transparency:transparency.Value*0.01;
end;
При градиентной заливке получается плавный переход между двумя и более
тонами одного цвета или разными цветами. При этом дополнительно зада-
ются тип штриховки градиента и варианты ее исполнения из числа воз-
можных.
Для градиентной заливки с одним цветом используем метод
OneColorGradient, первый аргумент которого задает тип, а второй — вари-
ант штриховки. Последний аргумент имеет тип Extended и определяет яр-
кость фона заливки. Двухцветная градиентная заливка области выполняется
методом TwoColorGradient, первый аргумент которого определяет тип, а
второй — вариант штриховки.
Использование методов OneColorGradient и TwoColorGradient представлено
на следующем примере.
Рис. 13.14. Эффект прозрачности заливки для надписи
Задание одноцветной и двухцветной градиентной заливки
procedure TOKBottomDlg4.GradientStyleChange(Sender: TObject);
begin
Fill.OneColorGradient(msoGradientHorizontal,Variant.Itemlndex+l,
Degree.Position*0.01);
end;
procedure TOKBottomDlg4.GradientStyleChange(Sender: TObject);
begin
Fill.TwoColorGradient(msoGradientHorizontal,Variant.Itemlndex+l);
end;
На рис. 13.15 представлены два варианта заливки надписи, выполненные
с применением описанных процедур. Левый объект имеет одноцветную,
правый — двухцветную градиентную заливку.
Выбор градиента из списка заготовок осуществляется с помощью метода
PresetGradient, первый и второй аргументы которого также определяют тип
и вариант штриховки. Вариант штриховки определяется числом в диапазоне
от 1 до 4. Последний аргумент определяет заготовку из списка MS Office.
Используя метод PresetGradient в приложении Delphi, выберем заготовку
градиента с помощью следующей процедуры. Полный исходный текст при-
ложения представлен на сопроводительном компакт-диске книги.
Рис. 13.15. Использование одноцветной и двухцветной градиентной заливки для надписи
Выбор заготовки градиентной заливки из списка
procedure ToKBottomDlg4.GradientStyleChange(Sender: TObject);
begin
Fill.PresetGradient(msoGradientKorizontal,Variant..Itemlndex+l,
PresetGradientType_);
end;
Результат выбора варианта заготовки показан на рис. 13.16.
Рис. 13.16. Выбран вариант заготовки градиентной заливки для надписи
Еще один способ заливки — использование текстуры. Этот способ основан
на использовании рисунка, который, многократно повторяясь, заполняет
всю область объекта TextBox. Если размеры рисунка превосходят размер
объекта, то заливкой объекта служит часть этого рисунка. Рисунок выбира-
ется из списка или загружается из графического файла. Поэтому есть два
метода задания текстуры:
метод PresetTextured основан на выборе текстуры из списка и его единст-
венный аргумент — индекс текстуры в палитре текстур;
метод UserTextured основан на выборе и использовании в качестве тек-
стуры рисунка из графического файла.
Рассмотрим две процедуры, применяющие эти методы.
Задание текстурной заливки
procedure ToKBottomDlg4.PresetTexturedChange(Sender: TObject);
begin
case PresetTextured.Itemlndex of
0:Fill.PresetTextured(msoTextureBrownMarble);
1:Fill.PresetTextured(msoTextureCork);
2:Fill.PresetTextured(msoTextureGranite);
3:Fill.PresetTextured(msoTextureGreenMarble);
end;
end;
procedure TOKBottomDlg4.Button4Click(Sender: TObject);
begin
i f not OpenPictureDialogl.Execute then exit;
Fill.UserTextured(OpenPictureDialogl.FileName);
end;
Первая процедура позволяет выбрать один из четырех вариантов текстуры.
Вторая, используя диалог выбора графического файла, загружает текстуру из
файла. Варианты текстурной заливки представлены на рис. 13.17.
Использование узора в качестве заливки реализуется с помощью метода
Patterned объекта Fill, единственным аргументом которого является индекс,
определяющий вид узора. Для заливки узором задаются цвет узора и цвет
фона (свойства ForeColor и BackColor объекта Fill, используемые и для гра-
диентной заливки).
Следующие процедуры позволяют выбрать один из четырех способов штри-
ховки, цвет штриховки и фона для заливки надписи узором. Результат вы-
полнения процедур показан на рис. 13.18.
Рис. 13.17. Текстурная заливка надписи
Рис. 13.18. Выбор узора в качестве заливки для надписи
Задание заливки в виде узора
procedure TOKBottomDlg4.PatternChange(Sender: TObject);
begin
case Pattern.Itemlndex of
0:Fill.Patterned(msoPatternDottedGrid);
1:Fill.Patterned(msoPatternHorizontalBrick);
2: Fill. Patterned (msoPatternLargeCheckerBoetrd) ;
3:Fill.Patterned(msoPatternLargeConfetti);
end;
end;
procedure T0KBottomDlg4.Button6Click(Sender: TObject);
begin
Fill.ForeColor.RGB:=ColorDialogl.Color;
end;
procedure TOKBottomDlg4.BackColorClick(Sender: TObject);
begin
Fill.BackColor.RGB:=ColorDialogl.Color;
end;
Рассмотрим способ заливки, при котором фоном для надписи является ри-
сунок. Метод UserPicture объекта Fill позволяет реализовать этот способ.
Аргумент данного метода содержит путь и имя графического файла.
Рис. 13.19. Использование рисунка в качестве фона
Следующая процедура, применяющая метод UserPicture, позволяет выбрать
рисунок для заливки.
Задание заливки в виде рисунка
procedure TOKBottomDlg4.Button5Click(Sender: TObject);
begin
i f not OpenPictureDialogl.Execute then exit;
Fill.UserPicture(OpenPictureDialogl.FileName);
end;
На рис. 13.19 представлен пример результата выполнения этой процедуры. |