На этом шаге мы рассмотрим задание узора заливки ячейки.
Узор заливки определяется выбором одного из всех возможных вариантов и задается числовой константой, которая записывается в свойство Pattern. На рисунке 1 представлен пример выбора узора ячейки и его цвета, осуществленного с помощью приведенных процедур.
Рис.1. Выбор узора заливки ячейки
Узор заливки определяется выбором одного из всех возможных вариантов и задается числовой константой, которая записывается в свойство Pattern. На рисунке 1 представлен пример выбора узора ячейки и его цвета, осуществленного с помощью приведенных в конце текста приложения процедур.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, Spin; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Label1: TLabel; Edit1: TEdit; CheckBox1: TCheckBox; ComboBox1: TComboBox; Label2: TLabel; SpinEdit1: TSpinEdit; Label3: TLabel; ComboBox2: TComboBox; ColorDialog1: TColorDialog; Button3: TButton; Button4: TButton; ComboBox3: TComboBox; Label4: TLabel; Button5: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit1Exit(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure SpinEdit1Change(Sender: TObject); procedure ComboBox2Change(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ComboBox3Change(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var E:variant; Range:variant; Border: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.Edit1Exit(Sender: TObject); //Определение области begin Range:=E.ActiveSheet.Range[Edit1.Text]; end; procedure TForm1.ComboBox1Change(Sender: TObject); //Выбор границы begin if CheckBox1.Checked Then Border:=Range.Borders.Item[ComboBox1.ItemIndex+5]; end; procedure TForm1.SpinEdit1Change(Sender: TObject); //Устанавливаем толщину линии границы ячейки begin Border.Weight:=SpinEdit1.Value; end; procedure TForm1.ComboBox2Change(Sender: TObject); //Устанавливаем тип линии границы ячейки begin Case ComboBox2.ItemIndex Of 0: Border.LineStyle:=1; //xlContinuous 1: Border.LineStyle:=-4115; //xlDash 2: Border.LineStyle:=4; //xlDashDot 3: Border.LineStyle:=5; //xlDashDotDot 4: Border.LineStyle:=-4118; //xlDot 5: Border.LineStyle:=-4119; //xlDouble 6: Border.LineStyle:=-4142; //xlLineStyleNone 7: Border.LineStyle:=13; //xlSlantDashDot End; end; procedure TForm1.Button3Click(Sender: TObject); //Устанавливаем цвет линии границы ячейки begin if ColorDialog1.Execute then Border.Color:=ColorDialog1.Color; end; procedure TForm1.Button4Click(Sender: TObject); //Задание цвета заливки ячейки begin if ColorDialog1.Execute then Range.Interior.Color:=ColorDialog1.Color; end; procedure TForm1.ComboBox3Change(Sender: TObject); //Выбор узора заливки ячейки begin case ComboBox3.ItemIndex of 0:Range.Interior.Pattern:=15; //xlPatternGrid 1:Range.Interior.Pattern:=-4142; //xlPatternNone 2:Range.Interior.Pattern:=16; //xlPatternCrissCross end; end; procedure TForm1.Button5Click(Sender: TObject); //Выбор цвета узора begin if ColorDialog1.Execute then Range.Interior.PatternColor:=ColorDialog1.Color; end; end.
В заключение приведем перечень констант, используемых для выбора узора.
Константа | Значение |
---|---|
xlPatternAutomatic | -4105 |
xlPatternChecker | 9 |
xlPatternCrissCross | 16 |
xlPatternDown | -4121 |
xlPatternGray16 | 17 |
xlPatternGray25 | -4124 |
xlPatternGray50 | -4125 |
xlPatternGray75 | -4126 |
xlPatternGray8 | 18 |
xlPatternGrid | 15 |
xlPatternHorizontal | -4128 |
xlPatternLightDown | 13 |
xlPatternLightHorizontal | 11 |
xlPatternLightUp | 14 |
xlPatternLightVertical | 12 |
xlPatternNone | -4142 |
xlPatternSemiGray75 | 10 |
xlPatternSolid | 1 |
xlPatternUp | -4162 |
xlPatternVertical | -4166 |
На следующем шаге мы рассмотрим пример использования изученных свойств.