![](images/delphi/004.gif)
Таблица состоит из ячеек, которые объединены в строки и столбцы. Поэто-
му, как у строк и столбцов, так и у отдельных ячеек есть аналогичные меж-
ду собой свойства, отличающиеся только областью применения этих
свойств. Если мы, например, изменяем толщину границ для ячейки, то это
изменение приведет к изменению отображения данной ячейки. Если изме-
нить параметры строки (столбца), то это может привести к изменению всех
границ всех ячеек строки (столбца) или только границы строки (столбца).
Заливка определяется для всех ячеек выбранной строки (столбца). Рассмот-
рим это на следующем примере, в котором будем изменять толщину линий
столбца, их цвет и заливку.
Изменение некоторых визуальных свойств столбца таблицы
var table:variant;
// Выбираем таблицу, для столбцов которой будем проводить изменения.
//В свойства компонента Columnld записываем количество столбцов
// выбранной нами таблицы.
procedure TOKBottomDlg5.ListBoxlClick(Sender: TObject);
begin
table:=Forml.W.ActiveDocument.Tables.item(ListBoxl.itemindex+1);
NumColumns.Value:=table.Columns.Count;
Columnld.MaxValue:=table.Columns.Count;
end;
// Толщина линий границ ячеек может принимать значения из набора
// определенных констант.
procedure T0KBottomDlg5.0utsideLineWidthChange(Sender: TObject);
const
wdLineWidthO25pt=2;
wdLineWidth4 50pt=3 6 ;
begin
case OutsideLineWidth.Itemlndex of
0:table.Columns.Item(Columnld.value).Borders.OutsideLineWidth:=
wdLineWidthO25pt;
1:table.Columns.Item(Columnld.value).Borders.OutsideLineWidth:=
wdLineWidth4 50pt;
end;
end;
// Цвет линий, рисунка текстуры и заливки определяется посредством
// цветового индекса.
procedure TOKBottomDlg5.0utsideColorIndexChange(Sender: TObject);
begin
table.Columns.Item(Columnld.value).Borders.OutsideColorIndex:=
OutsideColorlndex.Itemlndex;
end;
procedure TOKBottomDlg5.BackgroundPatternColorIndexChange(Sender:
TObject);
begin
table.Columns.Item(Columnld.value).Shading.BackgroundPatternColorIndex:=
BackgroundPatternColorIndex.Itemlndex;
end;
procedure TOKBottomDlg5.ForegroundPatternColorlndexChange(Sender: TObject);
begin
table.Columns.Item(Columnld.value).Shading.ForegroundPatternColorIndex:=
ForegroundPatternColorlndex.Itemlndex;
end;
// Текстура представляет собой определенный узор, заполняющий
// ячейки столбца. Его выбор определяется значением из набора
// определенных констант.
procedure T0KBottomDlg5.TextureChange(Sender: TObject);
const
wdTextureNone=0;
wdTextureSolid=1000;
wdTexture30Percent=300;
begin
case Texture.Itemlndex of
0:table.Columns.Item(Columnld.value).Shading.Texture:=wdTextureNone;
1:table.Columns.Item(Columnld.value).Shading.Texture:=wdTextureSolid;
2:table.Columns.Item(Columnld.value).Shading.Texture:=wdTexture 3 OPercent;
end;
end;
Результаты применения описанных процедур к выбранной таблице и внеш-
ний вид формы представлены на рис. 7.5.
Рассмотрим еще одно важное свойство, применяемое как к отдельным
ячейкам, так и ко всем ячейкам строки, столбца или таблицы. Это стиль
линии границы. Особенностью его является то, что стиль линии задается не
для всех линий границы ячейки, а индивидуально для каждой. Выбор опре-
деленной линии границы осуществляется выбором элемента коллекции
Borders. Количество элементов коллекции определяется числом линий, ог-
раничивающих ячейки или пересекающих ячейки или группу выделенных
ячеек. Для простоты рассмотрим фрагмент программы, изменяющий стиль
одной выбранной линии границы ячейки.
Задание стиля линии границы ячейки
procedure T0KBottomDlg8.LineStyleChange(Sender: TObject);
const
wdBorderTop=-l;
wdBorderLeft=-2;
wdBorderBottom=-3;
wdBorderRight=-4;
var Border:variant;
begin
case BorderId.itemindex of
0:Border:=table.Cell(2,1).Borders.Item(wdBorderTop);
1:Border:=table.Cell(2,1).Borders.Item(wdBorderLeft);
2:Border:=table.Cell(2,1).Borders.Item(wdBorderBottom);
3:Border:=table.Cell(2,1).Borders.Item(wdBorderRight);
end;
Border.LineStyle:=LineStyle.itemindex;
end;
![](images/delphi/075.JPG)
Рис. 7.5. Изменение формата столбца таблицы
С помощью этой процедуры мы можем изменить стиль разных линий гра-
ницы и получить результат, представленный на рис. 7.6. |