zoukankan      html  css  js  c++  java
  • TRichView文档结构

      

      

    1                TrichView结构

    TrichView的文档结构由段落和Item组成,如下图

     绘图的组织形式如下图:

    2                段落Pragraph

    TRichView文档是通过段落进行组织的,每个段落都有自己的样式,文档内所有的段落样式作为存储为集合(RichView.Style.ParaStyles

    TrichView中,所有的Item都必须指定ParaNoParaStyles的索引;设置ParaNo=-1,将延续上个段落的样式;

    段落主要设置边框和背景,包括:左缩进、右缩进、边框左偏移、边框右偏移..,如下图。

    3                Item

    Item是文档中的基本绘图单元

    Item分为文本Item和非文本Item

    Item都被组织在段落中

    文档Item必须要有符合以下规定的属性

    Ø ParaStyle索引:标示样式

    Ø 是否是段落开头标记

    Ø 是否在段落中占整行

    所有Item都是继承与RVItem的类

    所有Item类型都是继承与TcustomRVItemInfo

    4                Item类型

    Text 文本

    Tabulators 制表位

    Pictures 图片

    Hot-Pictures 带超链接的图片

    Break 分页(占满整行的水平线)

    Controls Delphi/C++Builder控件

    Bullets 项目符号

    Hotspots 带超链接的项目符号

    Tables 表格

    List Markers 段落项目符号或编号

    Labels 不能换行的类似于文本的控件

    Numbered Sequences 编号序列

    Endnotes尾注

    Footnotes脚注

    Custom Item 自定义Item

    Item的层次


    合法文档对Item的限制:

    1.         段落中的Item必须用相同的ParaStyle

    2.         文档中的第一个Item必须是段落的开始;

    3.         BreaksTable这种整行Item必须重起一行;

    4.         Table单元格最少要有一个item,默认会包含一个空的text item

    5                ItemTag属性

    RichView中的每个Item都有一个关联的integer类型的Tag值,TagTrichView提供了一种能够保存额外4个字节的integer值或指针信息的特性。RichView中的Tag作为Pchar指针用于动态的进行定位。

    Ø 如果不指定TagTag=0

    Ø 在默认模式下,即非rvoTagsArePChar选项,RichView本身不能使用tags,可以随意使用;

    Ø 如果设置了rvoTagsArePChartags被作为指针用于动态定位;

    Ø CheckPointTagItemTag作用对于CheckPoint同样有效

    Ø 编辑器可以将tag设置为0

    Ø TrichView有两种tag模式:Tags store integers(储存为4字节的integer值)和Tags Store Stringtag作为指针存储,例如可以讲Urltag中存储时,使用这种模式)

    TagPchar模式

    Ø 当删除items时将清空tag字符串的内容

    Ø 在内部将Tag当做字符串进行比较

    Ø RVFtags将保存为字符串

    RichViewEdit需要复制Tag时(比如:通过回车将当前行分为2行),编辑器将Tag的指针指向同一个字符串。

    所有的添加ItemAddXXX)的方法都有AddXXXTag的替代方法,将Tag作为方法的最后一个参数,通过StrNewStrAlloc函数或0nil)转换成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对象的内容

    7                TRichViewTrichViewEdit

    TrichView有三组方法修改文档

    1、 在文档尾部添加Item

    1、 根据给定的索引,修改Item(赋值的方式)

    2、 直接从文件或流中读取RVF

    TrichView的特点是不需要文档进行格式化

    TrichViewEdit4组方法修改文档

    2、 TrichView的所有方法

    3、 在当前光标出插入Item

    4、 修改光标处修改Item(编辑的方式)

    5、 通过额外的方法修改给定索引的Item

    TrichViewEdit的特点是

    文档必须是格式化过的

    修改文档后,reformat方法会自动调用

    如果文档是只读的,则不能修改

    文档实现textparagraphs样式的保护设置

    可以生成Onchage事件

    修改都记录在UndoRedo列表中

    8                TRVStyle

    TRVStyle是控制RichView可视化表现的运行时非可视化控件

    RVStyle的三个属性

    TextStyle 文本样式集合(TfontInfo的集合)

    ParaStyle 段落样式集合 TParaIno的集合)

    ListStyle 段落列表样式集合(TRVListInfo的集合)

    8.1     TextStyle

    TextStyle定义了字体以及其他文本特性。

    TextSytle TfontInfo的集合,TfontInfoTCustomRVFontInfo的子类,继承关系

    TObject

    TPersistent

    TCollectionItem

    TCustomRVInfo

    TCustomRVFontInfo

    属性

    Ø Unicode 定义文本的编码格式为UTF-16格式或ANSI格式

    True:文本为Unicode编码格式(UTF-16WideString);

    FalseANSI编码格式,对应的字符集通过Charset属性设置

    Delphi 2009版本后默认值是True,老版本的Delphi默认值是False;所以Delphi2007要修改默认值为Unicode

    Ø NextStyleNo 当回车后显示的TextSytle的索引号

    如果NextSytleNo =-1,则回车后新增的段落将沿用回车前那个段落的text Style

    默认值为-1,即继承上一个段落的Text Style

    方法

    Ø IsEqual 判断两个TextStyle是否相同

    Ø Assign 将一个TextSytle赋值给另一个TextStyle

    继承于TCustomRVFontInfo的属性

    属性

    字体属性

    Ø FontName

    字体名称,字符串型,默认值='Arial'

    Ø Size

    字体大小,整数型,默认值=10

    Ø Color

    字体颜色,TColor型,默认为clWindowgText;

    Ø Style

    文本样式,枚举类型fsBoldfsItalicfsUnderlinefsStrikeOut

    Ø 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

    设置导出RTFHTML的文本样式,TRVTextOption类型

    RvteoRTFCode

    文本不保存到HTML

    '{', '}', '\' 被原样保存到RTF

    rvteoHTMLCode

    文本不保存到RTF

    '&', '<', '>',和空格被原样保存到RTF

    rvteoHidden

    导出后,文本将隐藏,除非在RichView.Options中设置了rvoShowHidden(显示隐藏字符)

     

    8.2     ParaStyle

    ParaSytle定义了段落属性,ParaSytle TParaInfos的集合,TParaInfoTCustomRVParaInfo的子类,继承关系

    TObject

    TPersistent

    TCollectionItem

    TCustomRVInfo

    属性

    Alignment 对齐

    指定段落对齐方式,TRVAlignment枚举类型(vaLeft左对齐,rvaRight右对齐,rvaCenter置中,rvaJustify两端对齐),默认为rvaLeft

    FirstIndent  首行缩进

    定义为第一行的缩进,TRVStyleLength类型,默认为0

    LeftIndent  左缩进

    定义为行的左缩进,TRVStyleLength类型,默认为0

    RightIndent 右缩进

    定义为行的右缩进,TRVStyleLength类型,默认为0

    SpaceBefore

    段前间距,TRVStyleLength类型,默认为0

    SpaceAfter – spacing below the paragraph;

    段后间距,TRVStyleLength类型,默认为0

    Border 段落边框

    段落边框,TRVBorder类型,默认为none

    Background 段落背景

    段落背景,TRVBackgroundRect类型,默认为transparent透明

    Tabs 制表位

    步进,TRVTabInfos类型,默认的步进为48;属性包括Positon(从左空白LeftMargin的距离)、Align对齐方式(左、右、中)、Leader(填充制表位的文字,默认为空)

    LineSpacing 行间距

    行间距,TRVLineSpacingValue类型,默认值为100

    LineSpacingType行间距类型

    行间距类型,TRVLineSpacingType枚举类型,默认值为rvlsPercent

    rvlsPercent

    LineSpacing定义为文本高度的百分比

    rvlsSpaceBetween

    可以通过RVStyle设定单位,这种类型的LineSpacing不能导出到RTFHTML

    rvlsLineHeightAtLeast

    LineSpacing定义为最小行高,单位为RVStyle.Units

    rvlsLineHeightExact

    LineSpacing定义为行高,单位为RVStyle.Units

     

    BiDiMode 文本方向

    TextStyleBiDiMode属性

    Options 属性

    段落的属性,TRVParaOption类型,默认为空

    布局属性

    rvpaoNoWrap 不允许自动折行

    编辑和保护属性

    rvpaoReadOnly

    不允许编辑该样式的段落,但不能组织用户通过按回车键在段落前或段落后添加段落;

    这个选项也不能阻止通过选择方式进行的整体删除。

    rvpaoStyleProtect

    不能通过ApplyParaSytle方法修改段落样式,不能保护通过ApplyParaStyleConversion方法进行的修改,可以在OnParaSytleConversion事件中处理

    rvpaoDoNotWantReturns

    在段落中阻止回车键.

    打印选项

    rvpaoKeepLinesTogether

    这种样式的段落尽量打印在一页上

    rvpaoKeepWithNext

    这种样式的段落,如果样式和下一个段落相同,将打印在同一页上

    rvpaoWidowOrphanControl

    保留属性

     

    OutlineLevel 大纲级别

    定义段落的大纲级别,整数型,默认值为0,0为正文,正数定义为标题大纲级别。

    8.3     ListStyle

    ListStyle定义了段落列表样式,ListStyle TRVListInfos的集合,TRVListInfoTCustomRVInfo的子类,继承关系

    TObject

    TPersistent

    TCollectionItem

    TCustomRVInfo

    属性

    Levels 大纲级别

    大纲级别,TRVListLevel类型;

    TRVListLevel包括以下属性:

    布局属性

    Ø FirstIndent 首行缩进

    Ø LeftIndent 左缩进

    Ø MarkerIndent 标号缩进

    Ø MarkerAlignment  标号对齐

    大纲标记属性

    Ø ListType 标记类型

    Ø Font 字体

    Ø Picture 图片

    Ø ImageList, ImageIndex 图像列表属性

    Ø FormatString, FormatStringW 格式字符串

    编号列表属性

    Ø StartFrom 编号列表的起始数

    Ø Options 列表大纲类型

    rvloContinuous 预留属性

    rvloLevelReset 重新编号

    rvloLegalStyleNumbering

    如果Option包含了rvloLegalStyleNumbering,所有上级的罗马和字母序列将被转换成阿拉伯数字

    OnLevelPreview 大纲预览

    被应用程序用来为这种大纲样式定义预览缩略图

    方法

    AllNumbered

    判断是否都被编号,如果大纲都是编号大纲,返回True

    HasNumbering

    判断是否有编号大纲,如果有编号大纲,返回True

     

    9                Item的属性和方法

    9.1     Text Item 文本

    Text Item用来显示ANSIUnicode字符串,主要的属性在TextStyle中进行定义;

    TextItem不能包含以下内容:

    CR LF#13#10)字符,即回车和换行

    TAB#09tab键字符

    #0字符,即空字符

    FF#12)字符,即换页符

    方法:

    TcustomRichView

    添加Text Item

    单个Item方法

    在文档尾部添加单个Ietm,并通过Sytle-No设置TextStyleParaNo设置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)

    缩略版本,不带paraNoTag标记

    AddTag

    AddNLTag(s,StyleNo,-1,Tag)

    缩略版本,不带paraNo标记

    多个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

     

    TCustomRichViewEdit

    插入Text Item

    单个Item方法

    在光标处插入单个Ietm,插入的text item具有当前光标处的TextSytleParaStyle

    方法名称

    参数

    说明

    InsertStringTag

    返回值:Boolean

    s:String

    text item的文本

    S参数不能包含

    CR 回车

    LF 换行

    FF 换页

    TAB被替换成空格,即使设置SpaceInTab=0

    插入的字符串不与周围的textitem合并,即使是有相同的textSytleTag

    Tag:Integer

    TextItem的Tag

    InsertStringATag

    返回值:Boolean

    Const s:TRVAnsiString

    传入Ansi格式字符串

    InsertStringWTag

    返回值:Boolean

    Const s: TRVUnicodeString

    传入Unicode格式字符串

    多个Item方法

    插入具有

    方法名称

    参数

    说明

    InsertText

    返回值:Boolean

    Const text:String

    text item的文本

    S参数可以包含

    CR 回车

    LF 换行

    FF 换页

    Tab 步进

    CaretBefore=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的文本,或者非文本itemname

    方法名称

    参数

    说明

    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,并具有当前的TextStyleParaStyle

    方法名称

    参数

    说明

    InsertTextFromFile

    Const FileName:String

    文件名

    如果当前的textStyleUnicode,会自动转换成Unicode

    InsertTextFromFileW

    同上

    支持Unicode标记字符

    如果当前的textStyleANSI,会自动转换成ANSI

     

    9.2     Tabulators 制表位

    制表位是指在水平标尺上的位置,指定文字缩进的距离或一栏文字开始之处,制表位是在文档左间距的基础上计算,通过ParaStyleLefIndentparaStyleTabs以及TRVSyle.DefTabWidth进行定义的。

    9.3     Pictures 图片

    Pictures item用来显示存储在Tgraphic对象中的一张图片,Delphi支持以下几种标准的图片类:

    TBitmap (stores bitmap (*.bmp), probably with transparency);

    TMetafile (stores 32-bit (*.emf) or 16-bit (*.wmf) metafile);

    TIcon (stores icon; this class does not work with icons having more than 16 colors properly);

    JpegImage (D3+; stores Jpegs (*.jpg));

    TGifImage (D2007+, stores Gifs (*.gif));

    PngImage (D2009+, stores Png (*.png)).

    另外还支持一些第三方的图片类。

    Pictures item附加属性有:

    rvepImageWidth, rvepImageHeight

    拉伸图片

    rvepTransparent, rvepTransparentMode, rvepTransparentColor

    定义图片的透明度

    rvepAnimationInterval

    定义bitmap动画的时间间隔

    rvepMinHeightOnPage

    允许将一张图片打印在多页上

    rvepSpacing

    定义图片边距

    rvepResizable

    定义是否可以改变大小,TIcon不支持

    9.4     Hot-Pictures 带超链接的图片

    Hot-Picures是带有超链接的图片,属性同Pictures,主要的不同是插入Hot-Pictures的方法不同。

    9.5     Breaks分页(占满整行的水平线)

    Break是一条指定宽度和颜色的水平线或矩形,它总是占一行。

    9.6     Controls Delphi/C++Builder控件

    Controls是添加到文档上的普通的Delphi/C++Builder可视化控件,额外属性有:

    rvepSpacing

    定义控件边距

    rvepResizable

    定义是否可以改变大小

    rvepVisible

    定义是否可以隐藏控件

    9.7     Bullets 项目符号

    项目符号是TimageList中的一个图片,他与段落的项目符号和列表没有关系,主要用于在文档中重复使用一张小图片。

    额外属性有:

    rvepSpacing

    定义边距

    9.8     Hotspots 带超链接的项目符号

    HotSpots是带有超链接的Bullet Item,当获得鼠标焦点后可以改变图像

    9.9     Tables 表格

    TrichView中的表格中的单元格都是一个子文档,表格可以嵌套。

    额外属性有:

    rvspImageFileName

    当导出HTML文件时,用于保存背景图的文件位置

    方法:

    TcustomRichView

    添加/获取表格

    方法名称

    参数

    说明

    AddItem

    Const Text:String

    表格名称

    Item:TcustomRVItemInfo

    添加表格专用的TRVTableItemInfo

    GetItem

    ItemNoInteger

    表格的ItemNo

    返回指定ItemNo的表格的TRVTableItemInfo

    TcustomRichViewEdit

    插入/获取光标处表格

    方法名称

    参数

    说明

    InsertItem

    Const Text:String

    表格名称

    Item:TcustomRVItemInfo

    添加表格专用的TRVTableItemInfo

    GetCurrentItem

     

    返回当前光标处的表格的TRVTableItemInfo

    GetCurrentItemEx

    RequiredClassTCustomRVItemInfoClass

    这里是TRVTableItemInfo

    返回给定类型的当前光标处的对象

    ItemRichViewEdit:TCustomRichViewEdit

    输出参数,返回保护了这个表格的编辑器或者单元格内部的编辑器,比如嵌套表格

    Item:TCustomRVItemInfo

    输出参数,返回当前表格的TRVTableItemInfo

    TRVTableItemInfo

    TRVTableItemInfoTrichView文档的表达类,该类的实例由TRichView在运行时创建,或者在AddItemInsertItem时创建。

    TRVTableItemInfo = class(TRVFullLineItemInfo)

    属性列表

    属性名称

    类型

    说明

    表格外边框属性

    BorderWidth

    边框宽度

    TRVStyleLength

    设置为0表示隐藏边框

    BorderStyle

    边框类型

    TRVTableBorderStyle

    Ø rvtbRaised

    Ø rvtbLowered

    Ø rvtbColor

    Ø rvtbRaisedColor

    Ø rvtbLoweredColor

    BorderColor

    边框颜色

    TColor

    默认为clWindowText

    BorderLightColor

    3D边框亮色

    Tcolor

    默认为clBtnHighlight

    VisibleBorder

    边框可见性

    TRVBooleanRect

    4Boolean值,代表

    左、上、右、下

    默认为TrueTrueTrueTrue

    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的非文本ItemLabel不能折行,在Delphi/C++Builder 2009及后续版本中,label的文本是Unicode,之前的版本是ANSI

    其属性由TRVLabelItemInfo定义,其属性都与RVSytle中的属性有关联:

    显示的文本样式使用TextStyle的样式

    Label的光标;

    Label的最小宽度(MinWidth属性)

    Label的水平文本对齐 Alignment

    9.12         Numbered Sequences 编号序列

    编号序列是显示数字的类似于LabelsItem,编号序列也不能折行。编号序列用于对图片、表格、公式进行编号。

    其属性由TRVSeqItemInfo定义,主要有:

    SeqName:用于定义序列名称,保证相同SeqName的值能够连续,@footnote@和@endnte@被脚注和尾注保留使用。

    NumberType 定义编号类型,包括数字、罗马数字等

    9.13         Endnotes尾注

    尾注类似与编号序列,尾注包含子文档,尾注不在TrichView插入处显示,所有尾注都在文档尾部显示和打印。

    9.14         Footnotes脚注

    脚注类似与编号序列,脚注包含子文档,脚注不在TrichView插入处显示,所有尾注都在文档每页的尾部显示和打印。



  • 相关阅读:
    HDU-6534-Chika and Friendly Pairs (莫队算法,树状数组,离散化)
    SPOJ-DQUERY-D-query
    视频上云/网络穿透/拉转推工具EasyNTS设备IP地址返回数据与实际IP匹配的筛选机制优化
    视频上云/网络穿透/拉转推工具EasyNTS新增获取windows所有盘符信息功能的实现
    【解决方案】热门景区实现智慧旅游,城市道路/风景区视频公众号分享该如何实现?
    TSINGSEE青犀视频开发webrtc使用ffmpeg编译报ffmpeg version: N-94448-G3CEA9CD219提示是什么原因
    TSINGSEE青犀视频开发webrtc浏览器使用video标签播放webrtc本地录音音频实现过程
    【解决方案】智慧农业自动化的浪潮下,大棚实时视频监控系统应该如何搭建?
    【解决方案】房地产行业施工现场搭建视频4G无线远程视频监管信息化行业应用方案建议书
    【解决方案】国标GB28181协议视频智能分析平台EasyCVR搭建智慧养殖平台,让畜牧业实现“万物互联”
  • 原文地址:https://www.cnblogs.com/ntearn/p/2456457.html
Copyright © 2011-2022 走看看