9.2 Tabulators 制表位
制表位是指在水平标尺上的位置,指定文字缩进的距离或一栏文字开始之处,制表位是在文档左间距的基础上计算,通过ParaStyle的LefIndent、paraStyle的Tabs以及TRVSyle.DefTabWidth进行定义的。
9.3 Pictures 图片
Pictures item用来显示存储在Tgraphic对象中的一张图片,Delphi支持以下几种标准的图片类:
l TBitmap (stores bitmap (*.bmp), probably with transparency);
l TMetafile (stores 32-bit (*.emf) or 16-bit (*.wmf) metafile);
l TIcon (stores icon; this class does not work with icons having more than 16 colors properly);
l JpegImage (D3+; stores Jpegs (*.jpg));
l TGifImage (D2007+, stores Gifs (*.gif));
l PngImage (D2009+, stores Png (*.png)).
另外还支持一些第三方的图片类。
Pictures item附加属性有:
l rvepImageWidth, rvepImageHeight
拉伸图片
l rvepTransparent, rvepTransparentMode, rvepTransparentColor
定义图片的透明度
l rvepAnimationInterval
定义bitmap动画的时间间隔
l rvepMinHeightOnPage
允许将一张图片打印在多页上
l rvepSpacing
定义图片边距
l rvepResizable
l 定义是否可以改变大小,TIcon不支持
9.4 Hot-Pictures 带超链接的图片
Hot-Picures是带有超链接的图片,属性同Pictures,主要的不同是插入Hot-Pictures的方法不同。
9.5 Breaks分页(占满整行的水平线)
Break是一条指定宽度和颜色的水平线或矩形,它总是占一行。
9.6 Controls Delphi/C++Builder控件
Controls是添加到文档上的普通的Delphi/C++Builder可视化控件,额外属性有:
l rvepSpacing
定义控件边距
l rvepResizable
定义是否可以改变大小
l rvepVisible
定义是否可以隐藏控件
9.7 Bullets 项目符号
项目符号是TimageList中的一个图片,他与段落的项目符号和列表没有关系,主要用于在文档中重复使用一张小图片。
额外属性有:
l rvepSpacing
定义边距
9.8 Hotspots 带超链接的项目符号
HotSpots是带有超链接的Bullet Item,当获得鼠标焦点后可以改变图像
9.9 Tables 表格
TrichView中的表格中的单元格都是一个子文档,表格可以嵌套。
额外属性有:
l rvspImageFileName
当导出HTML文件时,用于保存背景图的文件位置
方法:
TcustomRichView
添加/获取表格
方法名称 |
参数 |
说明 |
AddItem |
Const Text:String 表格名称 |
|
Item:TcustomRVItemInfo 添加表格专用的TRVTableItemInfo |
||
GetItem |
ItemNo:Integer 表格的ItemNo |
返回指定ItemNo的表格的TRVTableItemInfo |
TcustomRichViewEdit
插入/获取光标处表格
方法名称 |
参数 |
说明 |
InsertItem |
Const Text:String 表格名称 |
|
Item:TcustomRVItemInfo 添加表格专用的TRVTableItemInfo |
||
GetCurrentItem |
|
返回当前光标处的表格的TRVTableItemInfo |
GetCurrentItemEx |
RequiredClass:TCustomRVItemInfoClass 这里是TRVTableItemInfo类 |
返回给定类型的当前光标处的对象 |
ItemRichViewEdit:TCustomRichViewEdit 输出参数,返回保护了这个表格的编辑器或者单元格内部的编辑器,比如嵌套表格 |
||
Item:TCustomRVItemInfo 输出参数,返回当前表格的TRVTableItemInfo |
TRVTableItemInfo
TRVTableItemInfo是TrichView文档的表达类,该类的实例由TRichView在运行时创建,或者在AddItem或InsertItem时创建。
TRVTableItemInfo = class(TRVFullLineItemInfo)
属性列表 |
||
属性名称 |
类型 |
说明 |
表格外边框属性 |
||
BorderWidth 边框宽度 |
TRVStyleLength |
设置为0表示隐藏边框 |
BorderStyle 边框类型 |
TRVTableBorderStyle Ø rvtbRaised Ø rvtbLowered Ø rvtbColor Ø rvtbRaisedColor Ø rvtbLoweredColor |
|
BorderColor 边框颜色 |
TColor |
默认为clWindowText |
BorderLightColor 3D边框亮色 |
Tcolor |
默认为clBtnHighlight |
VisibleBorder 边框可见性 |
TRVBooleanRect 4个Boolean值,代表 左、上、右、下 |
默认为True、True、True、True |
BorderHSpacing |
TRVStyleLength |
边框水平间距 |
BorderVSpacing |
TRVStyleLength |
边框垂直间距 |
单元格外边框属性 |
||
CellBorderWidth |
同上 |
|
CellBorderStyle |
同上 |
|
CellBorderColor |
同上 |
|
CellBorderLightColor |
同上 |
|
单元格间距 |
||
CellHSpacing |
TRVStyleLength |
单元格水平间距 |
CellVSpacing |
TRVStyleLength |
单元格垂直间距 |
BorderHSpacing |
TRVStyleLength |
单元格边框水平间距 |
BorderVSpacing |
TRVStyleLength |
单元格边框垂直间距 |
CellHPadding |
TRVStyleLength |
单元格水平填充 |
CellVPadding |
TRVStyleLength |
单元格垂直填充 |
背景 |
||
Color |
Tcolor |
背景颜色 |
BackgroundImage |
TGraphic |
背景图片 |
BackgroundStyle |
TRVItemBackgroundStyle Ø rvbsColor颜色 Ø rvbsStretched拉伸 Ø rvbsTiled平铺 Ø rvbsCentered置中 |
背景样式 |
BackgroundImageFileName |
String |
背景外部图片文件名 |
边框颜色 |
||
BorderColor |
Tcolor |
边框颜色 |
BorderLightColor |
Tcolor |
边框高亮色 |
CellBorderColor |
Tcolor |
单元格颜色 |
CellBorderLightColor |
Tcolor |
单元格高亮色 |
Rules |
||
HRuleWidth |
TRVStyleLength |
水平标尺宽度 |
HRuleColor |
TRVStyleLength |
水平标尺颜色 |
HOutermostRule |
Boolean |
默认值Flase 是否在表格边框和最外层单元格绘制水平标尺 |
VRuleWidth |
TRVStyleLength |
垂直标尺宽度 |
VRuleColor |
TRVStyleLength |
垂直标尺颜色 |
VOutermostRule |
Boolean |
默认值Flase 是否在表格边框和最外层单元格绘制垂直标尺 |
导出 |
||
TextColSeparator |
表格列分隔符 |
默认值:#13#10 |
TextRowSeparator |
表格行分隔符 |
默认值:#13#10 |
BackgroundImageFileName |
外部背景图文件名 |
|
其他 |
||
Options |
||
PrintOptions |
TRVTablePrintOption Ø rvtoHalftoneBorders 设置则打印表格和单元格边框 不设置,将不打印颜色,只有黑白色 Ø rvtoRowsSplit 拆分行,如果不设置,可以避免将表格打印在多个页上 Ø rvtoWhiteBackground 不打印背景 |
默认值: rvtoHalftoneBorders rvtoRowsSplit |
HeadingRowCount |
Integer |
默认值:0 重复表头的行数 |
方法列表 |
||
方法名称 |
参数 |
说明 |
插入行和列 |
||
InsertColsLeft |
Count: Integer 插入的列数 |
在选中的单元左边插入列 |
InsertColsRight |
Count: Integer 插入的列数 |
在选中的单元右边插入列 |
InsertRowsAbove |
Count: Integer 插入的行数 |
在选中的单元上面插入行 |
InsertRowsBelow |
Count: Integer 插入的行数 |
在选中的单元下面插入行 |
删除行和列 |
||
DeleteSelectedCols |
删除选中列 |
|
DeleteSelectedRows |
|
删除选中行 |
合并和分拆单元格 |
||
MergeSelectedCells 合并单元格 |
AllowMergeRC:Boolean =False,禁止合并 |
执行前通过CanMergeSelectedCells判断是否可以合并 必须在文档Formatted之后执行 |
UnmergeSelectedCells 取消合并 |
UnmergeRows:Boolean 如果True,将每个选中的单元格拆分到RowSpan(行跨度)行中 UnmergeCols:Boolean 如果True,将每个选中的单元格拆分到ColSpan(列跨度)列中 |
|
SplitSelectedCellsHorizontally 拆分成行 |
RowCount:Integer 行数 |
将单元格拆分成指定RowCount的行 |
SplitSelectedCellsVertically 拆分成列 |
ColCount:Integer 列数 |
将单元格拆分成指定ColCount的列 |
其他 |
||
InsertCols 插入列 |
Index:Integer 要插入的列前索引 Count:Integer CopyIndex:Integer 如果<>-1,指定为要复制属性的目标列序号 |
|
InsertRows 插入行 |
Index:Integer 要插入的行前索引 Count:Integer CopyIndex:Integer 如果<>-1,指定为要复制属性的目标行序号 |
|
DeleteCols 删除列 |
Index:Integer 要删除的第一个列的索引 Count:Integer 要删除的列数 DecreaseWidth:Boolean 是否自动调整宽度 |
|
DeleteRows 删除行 |
Index:Integer 要删除的第一个列的索引 Count:Integer 要删除的列数 DecreaseHeight:Boolean 是否自动调整高度 |
|
MergeCells 合并单元格 |
TopRow:Integer 起始行索引 LeftCol:Integer 起始列索引 ColSpan:Integer 合并的列数 RowSpan:Integer 合并的行数 AllowMergeRC:Boolean =False,禁止合并 |
|
UnmergeCells 取消合并格 |
TopRow:Integer 起始行索引 LeftCol:Integer 起始列索引 ColSpan:Integer 合并的列数 RowSpan:Integer 合并的行数 UnmergeRows: Boolean =True,不将行放到RowSpan行中 UnmergeCols: Boolean =True,不将列放到RowCol行中 |
|
DeleteEmptyRows 删除所有空行 |
删除所有只包含了nil单元格的行 |
|
DeleteEmptyCols 删除所有空列 |
删除所有只包含了nil单元格的列 |
9.10 List Markers 段落项目符号或编号
表示段落项目符号和列表的特殊Item,属性由TRVStyle.ListStyle定义
9.11 Labels 不能换行的类似于文本的控件
Label是类似于Text Item的非文本Item,Label不能折行,在Delphi/C++Builder 2009及后续版本中,label的文本是Unicode,之前的版本是ANSI;
其属性由TRVLabelItemInfo定义,其属性都与RVSytle中的属性有关联:
l 显示的文本样式使用TextStyle的样式
l Label的光标;
l Label的最小宽度(MinWidth属性);
l Label的水平文本对齐 Alignment;
9.12 Numbered Sequences 编号序列
编号序列是显示数字的类似于Labels的Item,编号序列也不能折行。编号序列用于对图片、表格、公式进行编号。
其属性由TRVSeqItemInfo定义,主要有:
l SeqName:用于定义序列名称,保证相同SeqName的值能够连续,@footnote@和@endnte@被脚注和尾注保留使用。
l NumberType 定义编号类型,包括数字、罗马数字等
9.13 Endnotes尾注
尾注类似与编号序列,尾注包含子文档,尾注不在TrichView插入处显示,所有尾注都在文档尾部显示和打印。
9.14 Footnotes脚注
脚注类似与编号序列,脚注包含子文档,脚注不在TrichView插入处显示,所有尾注都在文档每页的尾部显示和打印。