首页 > 代码库 > TRichView文档结构3
TRichView文档结构3
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插入处显示,所有尾注都在文档每页的尾部显示和打印。
TRichView文档结构3