TRichView表格边框
介绍
图
说明
边框( BorderWidth
和 CellBorderWidth
)宽度设置为 0(默认值)可以隐藏。
单元格属性VisibleBorders
可以隐藏某些单元格边框的某些边。
当在 TRichViewEdit
中插入带有不可见边框的表格时,边框显示为灰色虚线。
属性
表格边框宽度TRVTableItemInfo.BorderWidth
property BorderWidth: TRVStyleLength;
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
设置为 0 时隐藏边框。
默认值 0
单元格边框宽度TRVTableItemInfo.CellBorderWidth
property CellBorderWidth: TRVStyleLength;
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
设置为 0 时隐藏边框。
如果属性的值 <> BorderWidth
,或者属性的值 <> 1 像素,则只能使用 CSS 将其保存为 HTML。
默认值 0
TRVTableBorderStyle
Unit RVTable;
type
TRVTableBorderStyle =
(rvtbRaised, rvtbLowered, rvtbColor,
rvtbRaisedColor, rvtbLoweredColor);
定义表格中的边框样式。 这是表格的 BorderStyle
和 CellBorderStyle
属性。
-
rvtbRaised 凸起的 3d 边框,默认颜色。
-
rvtbLowered 凹陷的 3d 边框,默认颜色。
-
rvtbColor
BorderColor
/CellBorderColor
颜色的平面边框。 -
rvtbRaisedColor 凸起的 3d 边框。
左侧和顶部:
BorderLightColor
/CellBorderLightColor
。底部和右侧:
BorderColor
/CellBorderColor
。 -
rvtbLoweredColor 凹陷的 3d 边框。
左侧和顶部:
BorderColor
/CellBorderColor
。底部和右侧:
BorderLightColor
/CellBorderLightColor
。
表格边框样式TRVTableItemInfo.BorderStyle
property BorderStyle: TRVTableBorderStyle;
该属性定义了表格周围的边框样式。
如果要隐藏表格边框,设置 BorderWidth
= 0。
默认值 rvtbRaised
单元格边框样式TRVTableItemInfo.CellBorderStyle
property BorderStyle: TRVTableBorderStyle;
该属性定义了单元格周围的边框样式。
如果要隐藏单元格边框,设置 CellBorderWidth
= 0。
默认值 rvtbLowered
单元格的可见边框TRVTableCellData.VisibleBorders
property VisibleBorders: TRVBooleanRect;
用户无法撤消/重做对此属性的直接分配,请使用table.SetTableVisibleBorders
默认值 True, True, True, True (所有边框都可见)
表格边框水平间距TRVTableItemInfo.BorderHSpacing
property BorderHSpacing: TRVStyleLength;
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
BorderHSpacing
保存在 HTML+CSS 中:
-
BorderHSpacing=CellHSpacing
-
BorderHSpacing>=CellHSpacing and CellHSpacing>=0
默认值 2 (RVStyle.Units=rvstuPixels)
表格边框垂直间距TRVTableItemInfo.BorderVSpacing
property BorderVSpacing: TRVStyleLength;
表格边框和最外面的单元格之间的垂直间距。
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
BorderHSpacing
保存在 HTML+CSS 中:
-
BorderVSpacing=CellVSpacing
-
BorderVSpacing>=CellVSpacing and CellVSpacing>=0
默认值 2 (RVStyle.Units=rvstuPixels)
单元格水平间距TRVTableItemInfo.CellHSpacing
property CellHSpacing: TRVStyleLength;
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
该值可以为负数。 例如,指定 CellHSpacing
=-CellBorderWidth
以水平折叠单元格边框。
默认值 2 (RVStyle.Units=rvstuPixels)
单元格垂直间距TRVTableItemInfo.CellVSpacing
property CellVSpacing: TRVStyleLength;
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
该值可以为负数。 例如,指定 CellVSpacing
=-CellBorderWidth
以垂直折叠单元格边框。
默认值 2 (RVStyle.Units=rvstuPixels)
单元格内边距TRVTableItemInfo.CellPadding
property CellPadding: TRVStyleLength;
单元格内容与单元格边框之间的距离。
保留此属性是为了向后兼容(在version 10 中引入)。分配给此属性会将值分配给 CellHPadding
和 CellVPadding
。 读取此属性将返回 Round((CellHPadding+CellVPadding)/2)
。
单元格水平内边距TRVTableItemInfo.CellHPadding
property CellHPadding: TRVStyleLength;
单元格内容到单元格边框的水平距离。
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
此值影响表中的所有单元格。
如果单元旋转,CellHPadding
和 CellVPadding
不会切换。
默认值 1 (RVStyle.Units=rvstuPixels)
单元格垂直内边距TRVTableItemInfo.CellVPadding
property CellVPadding: TRVStyleLength;
单元格内容到单元格边框的垂直距离。
该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位TRVStyle.Units
。
此值影响表中的所有单元格。
如果单元旋转,CellHPadding
和 CellVPadding
不会切换。
默认值 1 (RVStyle.Units=rvstuPixels)
方法
设置单元格显示边框TRVTableItemInfo.SetCellVisibleBorders
procedure SetCellVisibleBorders(Left, Top, Right, Bottom: Boolean;
Row,Col: Integer);
将值分配给 Cells[Row, Col].VisibleBorders
,作为编辑操作。(在version 1.6 中引入)
与直接分配给 Cells[Row, Col].VisibleBorders
属性不同,在 TRichViewEdit 中插入的表(插入后)调用此方法,则可以撤消/重做此方法。
例子
设置1倍宽度的边框
procedure TForm1.Button1Click(Sender: TObject);
var
Table: TRVTableItemInfo;
Row, Col: Integer;
begin
//创建5行5列的表格
Table := TRVTableItemInfo.CreateEx(5, 5, RichViewEdit1.RVData);
Table.BestWidth := 400;
//设置表格和单元格边框样式为平面
Table.BorderStyle := rvtbColor;
Table.CellBorderStyle := rvtbColor;
//设置边框大小和间距大小
Table.BorderWidth := 1;
Table.BorderVSpacing := 2;
Table.BorderHSpacing := 2;
//设置单元格边框大小
Table.CellBorderWidth := 1;
//设置CellHSpacing = 0和CellVSpacing = 0,相邻单元格边框会被视觉组合成2倍宽度边框。
//Table.CellHSpacing := 0;
//Table.CellVSpacing := 0;
//可以通过设置CellHSpacing和CellVSpacing的值为CellBorderWidth的负值,实现单元格边框为1倍宽度(推荐)
//Table.CellHSpacing := - Table.CellBorderWidth;
//Table.CellVSpacing := - Table.CellBorderWidth;
{
//可以通过设置单元格边框的可见来实现单元格边框为1倍宽度
//(奇数行上下边框可见奇数列左右边框可见 = 索引从0开始,偶数行索引上下边框可见偶数列索引左右边框可见)
Table.CellHSpacing := 0;
Table.CellVSpacing := 0;
for Row := 0 to Table.RowCount - 1 do
for Col := 0 to Table.ColCount - 1 do
Table.SetCellVisibleBorders(not Odd(Col), not Odd(Row), not Odd(Col), not Odd(Row), Row, Col);
}
//将表格添加到文档中
RichViewEdit1.InsertItem('', Table);
end;