1TrichView结构
TrichView的文档结构由段落和Item组成,如下图
绘图的组织形式如下图:
2段落Pragraph
TRichView文档是通过段落进行组织的,每个段落都有自己的样式,文档内所有的段落样式作为存储为集合(RichView.Style.ParaStyles)
在TrichView中,所有的Item都必须指定ParaNo即ParaStyles的索引;设置ParaNo=-1,将延续上个段落的样式;
段落主要设置边框和背景,包括:左缩进、右缩进、边框左偏移、边框右偏移..,如下图。
3Item
lItem是文档中的基本绘图单元
lItem分为文本Item和非文本Item
lItem都被组织在段落中
文档Item必须要有符合以下规定的属性
ParaStyle索引:标示样式
是否是段落开头标记
是否在段落中占整行
l所有Item都是继承与RVItem的类
l所有Item类型都是继承与TcustomRVItemInfo
4Item类型
lText文本
lTabulators制表位
lPictures图片
lHot-Pictures带超链接的图片
lBreak分页(占满整行的水平线)
lControls Delphi/C++Builder控件
lBullets项目符号
lHotspots带超链接的项目符号
lTables表格
lList Markers段落项目符号或编号
lLabels不能换行的类似于文本的控件
lNumbered Sequences编号序列
lEndnotes尾注
lFootnotes脚注
lCustom Item自定义Item
Item的层次
合法文档对Item的限制:
1.段落中的Item必须用相同的ParaStyle;
2.文档中的第一个Item必须是段落的开始;
3.Breaks和Table这种整行Item必须重起一行;
4.Table单元格最少要有一个item,默认会包含一个空的text item
5Item的Tag属性
在RichView中的每个Item都有一个关联的integer类型的Tag值,Tag为TrichView提供了一种能够保存额外4个字节的integer值或指针信息的特性。RichView中的Tag作为Pchar指针用于动态的进行定位。
如果不指定Tag,Tag=0;
在默认模式下,即非rvoTagsArePChar选项,RichView本身不能使用tags,可以随意使用;
如果设置了rvoTagsArePChar,tags被作为指针用于动态定位;
CheckPoint有Tag,Item的Tag作用对于CheckPoint同样有效
编辑器可以将tag设置为0
TrichView有两种tag模式:Tags store integers(储存为4字节的integer值)和Tags Store String(tag作为指针存储,例如可以讲Url在tag中存储时,使用这种模式)
Tag的Pchar模式
当删除items时将清空tag字符串的内容
在内部将Tag当做字符串进行比较
在RVF中tags将保存为字符串
当RichViewEdit需要复制Tag时(比如:通过回车将当前行分为2行),编辑器将Tag的指针指向同一个字符串。
所有的添加Item(AddXXX)的方法都有AddXXXTag的替代方法,将Tag作为方法的最后一个参数,通过StrNew或StrAlloc函数或0(nil)转换成Integer作为参数。
例如:MyRichView.AddNLTag('Example',0,0,Integer(StrNew('Tag Example')));
6创建文档
TrichView创建文档的方式,分为3步
1、清空TrichView
2、添加Item
3、重新格式化和重绘RichView
添加的类型包括:
1、添加Text Item
2、添加图片
3、添加热点图片
4、添加Delphi控件
5、添加项目符号
6、添加水平线
7、添加列表标记(段落列表和编号列表)
8、添加表格
9、添加标签
10、添加尾注和脚注
11、添加自定义Item
12、添加CheckPoint
13、添加分页
14、添加或插入 RVF流
15、添加其他RichView对象的内容
7TRichView和TrichViewEdit
TrichView有三组方法修改文档
1、在文档尾部添加Item
1、根据给定的索引,修改Item(赋值的方式)
2、直接从文件或流中读取RVF
TrichView的特点是不需要文档进行格式化
TrichViewEdit有4组方法修改文档
2、TrichView的所有方法
3、在当前光标出插入Item
4、修改光标处修改Item(编辑的方式)
5、通过额外的方法修改给定索引的Item
TrichViewEdit的特点是
l文档必须是格式化过的
l修改文档后,reformat方法会自动调用
l如果文档是只读的,则不能修改
l文档实现text和paragraphs样式的保护设置
l可以生成Onchage事件
l修改都记录在Undo和Redo列表中
8TRVStyle
TRVStyle是控制RichView可视化表现的运行时非可视化控件
RVStyle的三个属性
lTextStyle 文本样式集合(TfontInfo的集合)
lParaStyle 段落样式集合 (TParaIno的集合)
lListStyle 段落列表样式集合(TRVListInfo的集合)
8.1TextStyle
TextStyle定义了字体以及其他文本特性。
TextSytle是 TfontInfo的集合,TfontInfo是TCustomRVFontInfo的子类,继承关系
TObject
TPersistent
TCollectionItem
l属性
Unicode定义文本的编码格式为UTF-16格式或ANSI格式
True:文本为Unicode编码格式(UTF-16,WideString);
False:ANSI编码格式,对应的字符集通过Charset属性设置
在Delphi 2009版本后默认值是True,老版本的Delphi默认值是False;所以Delphi2007要修改默认值为Unicode;
NextStyleNo当回车后显示的TextSytle的索引号
如果NextSytleNo =-1,则回车后新增的段落将沿用回车前那个段落的text Style
默认值为-1,即继承上一个段落的Text Style;
l方法
IsEqual判断两个TextStyle是否相同
Assign将一个TextSytle赋值给另一个TextStyle
继承于TCustomRVFontInfo的属性
l属性
字体属性
FontName
字体名称,字符串型,默认值='Arial';
Size
字体大小,整数型,默认值=10;
Color
字体颜色,TColor型,默认为clWindowgText;
Style
文本样式,枚举类型fsBold、fsItalic、fsUnderline、fsStrikeOut
CharSet
对于非Unicode文本,设置字符集
文本表现及布局属性
BackColor
文本底色
UnderlIneColor
下划线颜色,Tcolor类型,默认为clNone;
UnderlineType
下划线样式(普通、双线、顿点…);
SytleEx
附加文本样式,枚举类型rvfsOverline(上划线)、rvfsAllCaps(全大写);
SubSuperScriptType
上标、下标类型;
Vshift
相对于基线的垂直位移,整数型,值是相对于文本高度的百分比,只对普通文本有效,对上下标无效;
CharScale
水平缩放,整数型,为字符宽度的百分比
CharSpacing
字间距,TRVSytleLength类型,单位为Sceenpixel或者twips
BiDiMode
指定文字方向,TRVBidiMode类型,rvbdUnspecified(继承与段落的bidi设置),rvbLeftToRight(从左到右)、rvdbRightToLeft(从右到左),默认为:rvbdUnspecified;
超文本属性
Jump
指定是否为超文本类型,Boolean类型,如果为True,以下属性生效
HoverColor
文本高亮颜色
HoverBackColor
文本背景
HoverUnderlineColor
文本下划线颜色
HoverEffects
超链接效果
JumpCursor
超链接的鼠标样式
编辑属性
Protection
保护属性,TRVProtectOptions类型,包括以下值
普通保护
rvprStyleProtect
保护文本样式受ApplyTextStyle的影响,该保护被ApplyStyleConversion不起效果,但可以手工在OnStyleConversion事件中处理
rvprStyleSplitProtect
保护文本Item不会被分开设置样式,即不能通过选择文本Item的一部分去设置文本样式
rvprModifyProtect
保护这个Style的文本Item不能修改,但是可以作为整体删除
rvprDeleteProtect
保护这个Style的文本Item不能被整体删除,但是可以修改
rvprConcateProtect
不运行文本进行样式合并
rvprRVFInsertProtect
保护文本Item中间不能通过InsertRV的方法进行插入
rvprDoNotAutoSwitch
保护文本Item不会自动切换文本样式
rvprParaStartProtect
不允许文本Item移到到新行,即阻止在文本Item执行回车
Sticking
rvprSticking
不运行在设置有这个保护的两个文本Item之间插入
rvprSticking2
同上
rvprSticking3
同上
rvprStickToTop
如果文本Item在文档的最前,不允许在其之前插入
rvprStickToBottom
如果文本Item在文档的最后,不允许在其之后插入
文本导出属性
Options
设置导出RTF和HTML的文本样式,TRVTextOption类型
RvteoRTFCode
文本不保存到HTML
'{', '}', '\' 被原样保存到RTF
rvteoHTMLCode
文本不保存到RTF
'&', '',和空格被原样保存到RTF
rvteoHidden
导出后,文本将隐藏,除非在RichView.Options中设置了rvoShowHidden(显示隐藏字符)
8.2ParaStyle
ParaSytle定义了段落属性,ParaSytle是 TParaInfos的集合,TParaInfo是TCustomRVParaInfo的子类,继承关系
TObject
TPersistent
TCollectionItem
属性
lAlignment对齐
指定段落对齐方式,TRVAlignment枚举类型(vaLeft左对齐,rvaRight右对齐,rvaCenter置中,rvaJustify两端对齐),默认为rvaLeft;
lFirstIndent首行缩进
定义为第一行的缩进,TRVStyleLength类型,默认为0;
lLeftIndent左缩进
定义为行的左缩进,TRVStyleLength类型,默认为0;
lRightIndent右缩进
定义为行的右缩进,TRVStyleLength类型,默认为0;
lSpaceBefore
段前间距,TRVStyleLength类型,默认为0;
lSpaceAfter – spacing below the paragraph;
段后间距,TRVStyleLength类型,默认为0;
lBorder段落边框
段落边框,TRVBorder类型,默认为none;
lBackground段落背景
段落背景,TRVBackgroundRect类型,默认为transparent透明
lTabs制表位
步进,TRVTabInfos类型,默认的步进为48;属性包括Positon(从左空白LeftMargin的距离)、Align对齐方式(左、右、中)、Leader(填充制表位的文字,默认为空)
lLineSpacing行间距
行间距,TRVLineSpacingValue类型,默认值为100;
lLineSpacingType行间距类型
行间距类型,TRVLineSpacingType枚举类型,默认值为rvlsPercent;
rvlsPercent
LineSpacing定义为文本高度的百分比
rvlsSpaceBetween
可以通过RVStyle设定单位,这种类型的LineSpacing不能导出到RTF和HTML中
rvlsLineHeightAtLeast
LineSpacing定义为最小行高,单位为RVStyle.Units
rvlsLineHeightExact
LineSpacing定义为行高,单位为RVStyle.Units
lBiDiMode文本方向
同TextStyle的BiDiMode属性
lOptions属性
段落的属性,TRVParaOption类型,默认为空
布局属性
rvpaoNoWrap 不允许自动折行
编辑和保护属性
rvpaoReadOnly
不允许编辑该样式的段落,但不能组织用户通过按回车键在段落前或段落后添加段落;
这个选项也不能阻止通过选择方式进行的整体删除。
rvpaoStyleProtect
不能通过ApplyParaSytle方法修改段落样式,不能保护通过ApplyParaStyleConversion方法进行的修改,可以在OnParaSytleConversion事件中处理
rvpaoDoNotWantReturns
在段落中阻止回车键.
打印选项
rvpaoKeepLinesTogether
这种样式的段落尽量打印在一页上
rvpaoKeepWithNext
这种样式的段落,如果样式和下一个段落相同,将打印在同一页上
rvpaoWidowOrphanControl
保留属性
lOutlineLevel大纲级别
定义段落的大纲级别,整数型,默认值为0,0为正文,正数定义为标题大纲级别。
8.3ListStyle
ListStyle定义了段落列表样式,ListStyle是 TRVListInfos的集合,TRVListInfo是TCustomRVInfo的子类,继承关系
TObject
TPersistent
TCollectionItem
TCustomRVInfo
属性
lLevels大纲级别
大纲级别,TRVListLevel类型;
TRVListLevel包括以下属性:
布局属性
FirstIndent首行缩进
LeftIndent左缩进
MarkerIndent标号缩进
MarkerAlignment标号对齐
大纲标记属性
ListType标记类型
Font字体
Picture图片
ImageList, ImageIndex图像列表属性
FormatString, FormatStringW格式字符串
编号列表属性
StartFrom编号列表的起始数
Options列表大纲类型
2rvloContinuous预留属性
2rvloLevelReset重新编号
2rvloLegalStyleNumbering
如果Option包含了rvloLegalStyleNumbering,所有上级的罗马和字母序列将被转换成阿拉伯数字
lOnLevelPreview大纲预览
被应用程序用来为这种大纲样式定义预览缩略图
方法
lAllNumbered
判断是否都被编号,如果大纲都是编号大纲,返回True
lHasNumbering
判断是否有编号大纲,如果有编号大纲,返回True
9Item的属性和方法
9.1Text Item文本
Text Item用来显示ANSI或Unicode字符串,主要的属性在TextStyle中进行定义;
TextItem不能包含以下内容:
nCR 和LF(#13和#10)字符,即回车和换行
nTAB(#09)tab键字符
n#0字符,即空字符
nFF(#12)字符,即换页符
方法:
TcustomRichView
添加Text Item
n单个Item方法
在文档尾部添加单个Ietm,并通过Sytle-No设置TextStyle和ParaNo设置ParaStyle
方法名称
参数
说明
AddNLTag
s:String
text item的文本
Text Item不能包含
CR 回车
LF 换行
TAB 步进
FF 换页
StyleNo:Integer
TextStyle的序号
ParaNo:Integer
ParaStyle的序号
Tag:Integer
TextItem的Tag
AddNLATag
Const s:TRVAnsiString
传入Ansi格式字符串
StyleNo:Integer
TextStyle的序号
ParaNo:Integer
ParaStyle的序号
Tag:Integer
TextItem的Tag
ADDNLWTag
Const s:TRVUnicodeString
传入Unicode格式字符串
StyleNo:Integer
TextStyle的序号
ParaNo:Integer
ParaStyle的序号
Tag:Integer
TextItem的Tag
AddNL
等同于
AddNLTag(…,0)
缩略版本,不带Tag标记
Add
等同于
AddNLTag(…,-1,0)
缩略版本,不带paraNo和Tag标记
AddTag
AddNLTag(s,StyleNo,-1,Tag)
缩略版本,不带paraNo标记
n多个Item方法
用于在文档上尾部添加多行text item
方法名称
参数
说明
AddTextNL
s:String
text item的文本
TextItem可以包含
CR 回车
LF 换行
TAB 步进
FF 换页
StyleNo:Integer
TextStyle的序号
FirstParaNo:Integer
第一行的ParaStyle的序号
如果=-1延续上一行
如果>0,设置新的paraStyle
OtherParaNo:Integer
TextItem的Tag
设置其他行的paraSytle,必须>0
AddTextNLA
s:TRVAnsiString
text item的文本
TextItem可以包含
CR 回车
LF 换行
TAB 步进
FF 换页
StyleNo:Integer
TextStyle的序号
FirstParaNo:Integer
第一行的ParaStyle的序号
如果=-1延续上一行
如果>0,设置新的paraStyle
OtherParaNo:Integer
TextItem的Tag
设置其他行的paraSytle,必须>0
AddTextNLW
s:TRVUnicodeString
text item的文本
TextItem可以包含
CR 回车
LF 换行
TAB 步进
FF 换页
StyleNo:Integer
TextStyle的序号
FirstParaNo:Integer
第一行的ParaStyle的序号
如果=-1延续上一行
如果>0,设置新的paraStyle
OtherParaNo:Integer
TextItem的Tag
设置其他行的paraSytle,必须>0
DefAsSingleParagraph:Boolean
False:使用当前的添加段落模式
True:将#13回车和#10换行认为是行分割,而不是段落分割
修改Text Item
方法名称
参数
说明
SetItemText
ItemNo:Integer
要修改的Text item的序号
Const s:String
要修改的字符串
SetItemTextA
ItemNo:Integer
要修改的Text item的序号
S:TRVAnsiString
Ansi字符串
SetItemTextW
ItemNo:Integer
要修改的Text item的序号
S:TRVUnicodeString
Unicode的字符串
获取Text Item
方法名称
参数
说明
GetItemText
ItemNo:Integer
要修改的Text item的序号
返回String
GetItemTextA
ItemNo:Integer
要修改的Text item的序号
返回TRVAnsiString
GetItemTextW
ItemNo:Integer
要修改的Text item的序号
返回TRVUnicodeString
从文件或流添加文本
方法名称
参数
说明
LoadText
Const FileName:String
文件名
StyleNo
TextStyle的序号
ParaNo
ParaStyle的序号
AsSingleParagraph
False:使用当前的添加段落模式
True:将#13回车和#10换行认为是行分割,而不是段落分割
LoadTextW
同上
支持Unicode标记字符
LoadTextFromStream
Stream:Tstream
流
LoadTextFromStreamW
Stream:Tstream
流
返回TRVUnicodeString
插入Text Item
n单个Item方法
在光标处插入单个Ietm,插入的text item具有当前光标处的TextSytle和ParaStyle
方法名称
参数
说明
InsertStringTag
返回值:Boolean
s:String
text item的文本
lS参数不能包含
CR 回车
LF 换行
FF 换页
lTAB被替换成空格,即使设置SpaceInTab=0
l插入的字符串不与周围的textitem合并,即使是有相同的textSytle和Tag
Tag:Integer
TextItem的Tag
InsertStringATag
返回值:Boolean
Const s:TRVAnsiString
传入Ansi格式字符串
InsertStringWTag
返回值:Boolean
Const s: TRVUnicodeString
传入Unicode格式字符串
n多个Item方法
插入具有
方法名称
参数
说明
InsertText
返回值:Boolean
Const text:String
text item的文本
lS参数可以包含
CR 回车
LF 换行
FF 换页
Tab 步进
lCaretBefore=True
表示完成操作后,光标在Item的前面
CaretBefore=False
表示完成操作后,光标在Item的后面
CaretBefore:Boolean=False
TextItem的Tag
InsertTextA
返回值:Boolean
Const text:TRVAnsiString
传入Ansi格式字符串
InsertTextW
返回值:Boolean
Const text: TRVUnicodeString
传入Unicode格式字符串
修改Text Item
在编辑模式下,修改textItm的文本,或者非文本item的name
方法名称
参数
说明
SetItemTextEd
ItemNo:Integer
要修改的Text item的序号
Const s:String
要修改的字符串
SetItemTextEdA
ItemNo:Integer
要修改的Text item的序号
S:TRVAnsiString
Ansi字符串
SetItemTextEdW
ItemNo:Integer
要修改的Text item的序号
S:TRVUnicodeString
Unicode的字符串
SetCurrentItemText
Const s:String
修改的值
等同于TopLevelEditor.SetItemTextEd(TopLevelEditor.CurItemNo, s)
SetCurrentItemTextA
Const s:TRVAnsiString
修改的值
等同于
TopLevelEditor.SetItemTextEdA(TopLevelEditor.CurItemNo, s)
SetCurrentItemTextW
Const s:TRVUnicodeString
修改的值
等同于
TopLevelEditor.SetItemTextEdW(TopLevelEditor.CurItemNo, s)
获取Text Item
返回当前光标出的Text Item
方法名称
参数
说明
GetCurrentItemText
ItemNo:Integer
要修改的Text item的序号
返回String
等同于
TopLevelEditor.GetItemText(TopLevelEditor.CurItemNo).
GetCurrentItemTextA
ItemNo:Integer
要修改的Text item的序号
返回TRVAnsiString
等同于
TopLevelEditor.GetItemTextA(TopLevelEditor.CurItemNo)
GetCurrentItemTextW
ItemNo:Integer
要修改的Text item的序号
返回TRVUnicodeString
等同于
TopLevelEditor.GetItemTextW(TopLevelEditor.CurItemNo)
从文件插入文本
从文件插入文本Item,并具有当前的TextStyle和ParaStyle
方法名称
参数
说明
InsertTextFromFile
Const FileName:String
文件名
如果当前的textStyle是Unicode,会自动转换成Unicode
InsertTextFromFileW
同上
支持Unicode标记字符
如果当前的textStyle是ANSI,会自动转换成ANSI
9.2Tabulators制表位
制表位是指在水平标尺上的位置,指定文字缩进的距离或一栏文字开始之处,制表位是在文档左间距的基础上计算,通过ParaStyle的LefIndent、paraStyle的Tabs以及TRVSyle.DefTabWidth进行定义的。
9.3Pictures图片
Pictures item用来显示存储在Tgraphic对象中的一张图片,Delphi支持以下几种标准的图片类:
lTBitmap (stores bitmap (*.bmp), probably with transparency);
lTMetafile (stores 32-bit (*.emf) or 16-bit (*.wmf) metafile);
lTIcon (stores icon; this class does not work with icons having more than 16 colors properly);
lJpegImage (D3+; stores Jpegs (*.jpg));
lTGifImage (D2007+, stores Gifs (*.gif));
lPngImage (D2009+, stores Png (*.png)).
另外还支持一些第三方的图片类。
Pictures item附加属性有:
lrvepImageWidth, rvepImageHeight
拉伸图片
lrvepTransparent, rvepTransparentMode, rvepTransparentColor
定义图片的透明度
lrvepAnimationInterval
定义bitmap动画的时间间隔
lrvepMinHeightOnPage
允许将一张图片打印在多页上
lrvepSpacing
定义图片边距
lrvepResizable
l定义是否可以改变大小,TIcon不支持
9.4Hot-Pictures带超链接的图片
Hot-Picures是带有超链接的图片,属性同Pictures,主要的不同是插入Hot-Pictures的方法不同。
9.5Breaks分页(占满整行的水平线)
Break是一条指定宽度和颜色的水平线或矩形,它总是占一行。
9.6Controls Delphi/C++Builder控件
Controls是添加到文档上的普通的Delphi/C++Builder可视化控件,额外属性有:
lrvepSpacing
定义控件边距
lrvepResizable
定义是否可以改变大小
lrvepVisible
定义是否可以隐藏控件
9.7Bullets项目符号
项目符号是TimageList中的一个图片,他与段落的项目符号和列表没有关系,主要用于在文档中重复使用一张小图片。
额外属性有:
lrvepSpacing
定义边距
9.8Hotspots带超链接的项目符号
HotSpots是带有超链接的Bullet Item,当获得鼠标焦点后可以改变图像
9.9Tables表格
TrichView中的表格中的单元格都是一个子文档,表格可以嵌套。
额外属性有:
lrvspImageFileName
当导出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,禁止合并
必须在文档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.10List Markers段落项目符号或编号
表示段落项目符号和列表的特殊Item,属性由TRVStyle.ListStyle定义
9.11Labels不能换行的类似于文本的控件
Label是类似于Text Item的非文本Item,Label不能折行,在Delphi/C++Builder 2009及后续版本中,label的文本是Unicode,之前的版本是ANSI;
其属性由TRVLabelItemInfo定义,其属性都与RVSytle中的属性有关联:
l显示的文本样式使用TextStyle的样式
lLabel的光标;
lLabel的最小宽度(MinWidth属性);
lLabel的水平文本对齐 Alignment;
9.12Numbered Sequences编号序列
编号序列是显示数字的类似于Labels的Item,编号序列也不能折行。编号序列用于对图片、表格、公式进行编号。
其属性由TRVSeqItemInfo定义,主要有:
lSeqName:用于定义序列名称,保证相同SeqName的值能够连续,@footnote@和@endnte@被脚注和尾注保留使用。
lNumberType定义编号类型,包括数字、罗马数字等
9.13Endnotes尾注
尾注类似与编号序列,尾注包含子文档,尾注不在TrichView插入处显示,所有尾注都在文档尾部显示和打印。
9.14Footnotes脚注
脚注类似与编号序列,脚注包含子文档,脚注不在TrichView插入处显示,所有尾注都在文档每页的尾部显示和打印。