delphiRichView的使⽤介绍
RichView 组件由 9 个组件模块组成,分别是:
1、TRVStyle:主要是定义RICHVIEW样式,定义后,其它RIHCVIEW都可以引⽤此样式。
2、TRichView :主要⽤于显⽰⽂本,图像,等等
3、TRichViewEdit:主要⽤于编辑⽂本,图像,等等
4、TDBRichView: 和RICHVIEW⼀样,但主要⽤于数据感之
5、TDBRichViewEdit : 和RIHCVIEWEDIT⼀样,但主要⽤于数据感之
6、TRVPrint : ⽤于控件中⽂档的打印
7、TRVPrintPreview :⽤于打印预览
8、TRVReportHelper :⽤于在其它控件上显⽰⽂档
9、TRVOfficeConverter :⽤于操作WORD⽂档
9⼤类详细介绍:
1、TRVStyle :这个组件在运⾏时是不可见的,TRVSTYLE是派⽣类,直接继承TCOMPONENT。如果你想显⽰RICHVIEW⾥⾯的⽂档,只⽤把要显⽰的RICHVIEW关联TRVSTYLE组件就⾏,(创建⼀个TRVSTYLE后把,RICHVEIW的STYLE属性关联这个TRVSTLE)。同样 RichView, RichViewEdit, DBRichView, DBRichViewEdit 都可以关联这个TRVSTYLE,⽅法相同。如果⼀个TRVSTYLE关联多个组件后,当其中⼀个组件要删除这个TRVSTYLE后,其它的组件就不能继续使⽤这个TRVSTYLE,解决办法就是⼀个组件关联⼀个TRVSTYLE。
RVSTYLE有三个主属性:
(1)TEXTSTYLES– 主要是设置⼀些⽂本样式;
(2)PARASTYLES– 段落标题样式
(3)LISTSTYLES–段落标题样式列表
RVSTYLE颜⾊属性:
.Color – 背景⾊;
.SelColor, InactiveSelColor – 选择⽂本的背景⾊;
.SelTextColor, InactiveSelTextColor – 选择⽂本的颜⾊;
.DisabledFontColor – 控件不可能时⽂本的颜⾊.
.HoverColor – 超⽂本的颜⾊;
.CheckpointColor –检查点虚线颜⾊;
.CheckpointEvColor – 检查点事件虚线颜⾊;
.PageBreakColor – ⽂档隔断颜⾊;
.FloatingLineColor – 左右占位符颜⾊
RVSTYLE:⿏标样式;
.JumpCursor – 超⽂本样式
.LineSelectCursor – 左边栏样式.
LABEL元素相关属性
.FieldHighlightColor – ⾼亮显⽰颜⾊.
.FieldHighlightType –⾼亮显⽰模式(有三种).
.FootnoteNumbering – ⼀些页脚类型.
.FootnotePageReset – 页脚模式.
.EndnoteNumbering – 尾注类型.
RVSTYLE其它属性;
.SelectionStyle – ⽂档外观选择;
.SelectionMode – 选择模式;
.DefUnicodeStyle – 默认Unicode ⽂本样式;
.DefCodePage – ANSI <->Unicode ⾃动转换;
.LineWrapMode ⽂本框类型;
.UseSound. 声⾳开关
RVSTYLE⽅法;
.SaveINI 保存 RVStyle 属性到INI⽂件;
.LoadINI 加载 RVStyle属性从INI⽂件;
.SaveReg 保存 RVStyle 属性到注册⽂件;
.LoadReg 加载RVStyle 属性到注册⽂件.
.SaveCSS 保存.RVStyle样式到CSS⽂件
.SaveCSSToStream.保存.RVStyle样式为CSS⽂件,然后保存到流
RVSTYLE事件
.OnDrawCheckpoint 画检查点;
.OnDrawPageBreak – 画分隔线;
.OnDrawParaBack – 画段落背景;
.OnDrawTextBack – 画⽂本背景;
.OnApplyStyle – 保存⽂本类型到画布;
.OnApplyStyleColor – 保存⽂本颜⾊到画布;
.OnDrawStyleText – 指定的⽂本类型;
.OnStyleHoverSensitive –重画,当⿏标移进或者移出指定的⽂本类型时重画样式;
2、TRichView TRichView组件主要⽤于显⽰⽂档内容的,包括图⽚,表格,⽂字,甚⾄可以显⽰其它组件。使⽤之前必须要关联TRVSTYLE(前⾯有介绍),不关联是不能显⽰的。TRichView有个重要的属性集SETTINGS,⾥⾯可以设置⼀些重要的参数。 TRichView属性,事件,⽅法; .Style – 关联TRVSTYLE样式 .Options – ⼀些重要的操作(以后会讲到); .ItemCount – ⽂档中元素数量. .BackgroundBitmap- ⽂档背景图⽚ .BackgroundStyle - ⽂档背景图⽚显⽰样式 .Color.⽂档背景颜⾊ .FirstJumpNo 为第⼀个超⽂本增加ID号; TRichView插⼊事件; .AddNL 增加⽂本元素; .AddBreak
Ex 增加分隔线; .AddPictureEx 增加图⽚; .AddHotPicture 增加热点图⽚; .AddControlEx 增加组件; .Add 在⽂本后⾯增加字符; .AddFmt 增加特点格式字符集 .Clear 清除⽂档内容 .Format, FormatTail 格式化⽂档内容; .Reformat 重新格式化⽂档; .OnJump 当光标点击超链接时发⽣; .OnRVMouseMove 当光标移动到超链接时发⽣; .GetJumpPointItemNo 跳转到指定ID号的元素; .LeftMargin, RightMargin, TopMargin, BottomMargin 左右上下边
距; .MaxTextWidth 最长⾏(字符数); .MinTextWidth 最短⾏(字符数); .DocumentHeight ⽂档⾼; .VAlign 垂直效准线; .VScrollVisible 垂直滑动条开
关; .HScrollVisible 平⽔滑动条开关; .VSmallStep 垂直滑动条滑动幅度; .OnVScrolled 垂直滑动条事件; .OnHScrolled ⽔平滑动条事件; .Copy 复制选择的内容到剪切
板; .CopyDef 选择⽅式复制选择的内容到剪切板; .CopyImage 复制选择的图⽚到剪切板; .CopyTextA 复制选择的内容,以⽂本形式到剪切板; .CopyTextW 复制选择的内容,以Unicode格式到剪切板; .CopyRVF 复制选择的内容,以RVF格式到剪切板; .CopyRTF 复制选择的内容,以RTF格式到剪切板; .GetSelectedImage 返回选择的图
⽚; .GetSelText 返回选择的⽂本; .GetSelTextW 以Unicode字符形式返回选择的内容; .SelectAll 全选; .SetSelectionBounds 选择指定的元素; .SelectWordAt 选择⼀个指定坐标上的字符; .SelectCon
trol 选择⼀个可视组件; .Deselect 取消选择; .RVFOptions ⼀些加载和保存RVF⽂体的操作; .RVFWarnings ⼀些RVF⽂体阅读时的错误; .SaveRVF 保存⽂档为RVF格式; .SaveRVFToStream 保存⽂档为RVF格式,然后保存到流; .LoadRVF 加载RVF⽂件; .LoadRVFFromStream 从流加载RVF⽂件; .CopyRVF 复制RVF⽂档到剪切板; .InsertRVFFromStream 从流增加RVF⽂档; .LoadFromStream 从流加载RVF, RTF或者⽂本格式的⽂件; .LoadText 从⽂件中增加⽂本; .LoadTextW 从Unicode encoding⽂件中增加⽂本; .LoadRTF 加载RTF; .SaveHTML 保存⽂档为HTML格式; .SaveHTMLEx 保存⽂档为HTML格式。使⽤CSS样式; .SaveHTMLToStream, SaveHTMLToStreamEx ⽅法同上,只不过保存到流,不是直接保存为⽂档; .SaveText 保存为⽂本⽂件; .SaveTextW 保存为Unicode⽂件; .SaveTextToStream, SaveTextToStreamW – 可以选择性的保存到流; .SaveRTF 可以选择性的保存为RTF格式; .SaveRTFToStream 可以选择性的保存为RTF格式到流. .GetItemStyle 返回⼀个元素的类型; .GetTextInfo 返回⽂本元素的信息; .GetBreakInfo 返回分隔线信息; .GetBulletInfo 返回着重号信息; .GetHotspotInfo 返回热点信息; .GetPictureInfo 返回图⽚或者热点图⽚信息; .GetControlInfo 返回组件信息; .GetItemExtraIntProperty,GetItemExtraStrProperty 返回元素额外的属性值; .GetItem 通⽤⽅法,主要⽤于表格; .GetItemCheckpoint 返回元素的检查点; .GetItemVAlign 返回元素位置; .GetItemTag 返回元素的标签; .GetItemText 返回元素内容; .IsParaStart 返回是否是第⼀个元素; .IsFromNewLine 返回是否是第⼀个元素;
3、TRichViewEdit TRichViewEdit主要是⽤于编辑⽂本内容,如图⽚,⽂字,表格,控件,等等如果没有关联RVSTYLE,TRichViewEdit是不能显⽰或者编辑任何内容的属性,事件,⽅法列表(⽤法以后介绍)属性CurItemNo – 当前元素编号CurItemStyle – 当前元素类型CurParaStyleNo – 当前段落样式类型编号CurTextStyleNo – 当前⽂本样式编号EditorOptions – 设置⼀些编辑的选项ReadOnly 内容是否可以编辑,或只读Modified – 内容是否有修改CustomCaretInterval – ⾃定义字符重绘时间间隔事件OnChange ⽂档内容改变时触发OnCurParaStyleChanged 当前段落样式改变时触发OnCurTextStyleChanged 当前⽂本样式改变时触发OnPaste 允许粘贴OnStyleConversion 改变选中⽂本样式OnParaStyleConversion 改变段落样式OnCaretGetOut 当字符超过边界时触发OnCaretMove 当字符移动后触发OnItemTextEdit 当⼀个⽂本类型元素的⽂本内容改变时OnSmartPopupClick 弹出菜单OnMeasureCustomCaret and OnDrawCustomCaret 替换字符常⽤⽅法ApplyParaStyle, ApplyTextStyle 保存⽂本样式ApplyStyleConversion 保存选中⽂本的样式ApplyParaStyleConversion 保存选中段落样式Change ⽂档内容改变事件BeginUpdate, EndUpdate 重绘/刷新SearchText, -A, -W 查字符常⽤插⼊⽅法InsertText, -A, -W, InsertStringTag, InsertStringATag, InsertStringWTag 插⼊⽂本InsertBreak 插⼊⼀条线InsertBullet 插⼊项⽬符号InsertControl 插⼊组件InsertHotspot 插⼊热点InsertPicture 插⼊图⽚InsertHotPicture 插⼊超⽂本链接图⽚InsertTab 插⼊制表键InsertRVFFromFileEd, InsertRVFFromStreamEd 从⽂件或者流插⼊RVF格式的⽂件InsertRTFFromFileEd, InsertRTFFromStreamEd 从⽂件或者流插⼊RTF格式的⽂件InsertTextFromFil
e,InsertOEMTextFromFile从⽂件插⼊字符InsertItem 常⽤插⼊元素的⽅法剪贴板操作(主要⽅法和事件)CanPaste 是否允许从剪贴板粘贴CanPasteRVF 是否允许从剪贴板粘贴RVF格式内容CanPasteRTF 是否允许从剪贴板粘贴RTF格式内容CutDef
剪切到道貌岸然板Paste 粘贴PasteBitmap 粘贴图⽚PasteMetafile 粘贴图形元件PasteGraphicFile 粘贴图形元件PasteRVF 从剪贴板粘贴RVF格式内容PasteRTF 从剪贴板粘贴RTF格式内容PasteTextA 从剪贴板粘贴ANSI格式内容PasteTextW 从剪贴板粘贴UNICODE格式内容DeleteSelection 删除选中的内容SelectCurrentWord 选中当前内容SelectCurrentLine 选中当前⾏常⽤编辑元素⽅法SetBreakInfoEd 改变横线SetBulletInfoEd 改变项⽬符号SetControlInfoEd 改变组件SetHotspotInfoEd 改变热点SetPictureInfoEd 改变图⽚SetItemExtraIntPropertyEd,SetItemExtraStrPropertyEd 编辑元素属性SetItemTagEd 编辑元素标签SetItemVAlignEd 调整元素相对位置SetItemTextEd 改变元素名SetCheckpointInfoEd 编辑检查点RemoveCheckpointEd 删除检查点ResizeControl 调整组件AdjustControlPlacement ,AdjustControlPlacement2 ⾃动调整组件位置获取元素信息⽅法GetCurrentTextInfo 获取⽂本信息GetCurrentBreakInfo 获取线条元素信息GetCurrentBulletInfo 获取项⽬符号信息GetCurrentControlInfo 组件信息GetCurrentHotspotInfo
热点信息GetCurrentPictureInfo 图⽚信息GetCurrentItem,GetCurrentItemEx. 未知类型元素信息GetCurrentItemExtraIntProperty,GetCurrentItemExtraStrProperty 返回指定元素属性值GetCurrentTag
返回元素标签GetCurrentItemVAlign 返回元素⽔平位置GetCurrentCheckpoint 返回元素检查点GetCurrentItemText 返回元素名GetCurrentLineCol 返回当前位置的⾏和列撤销和恢复UndoLimit 设置撤销缓冲区UndoAction 返回撤销操作Undo 撤销最后操作UndoName 返回撤销操作名RedoAction 返回恢复操作Redo redoes 恢复最后⼀次撤销操作RedoName 返回恢复操作名ClearUndo 清除撤销和恢复缓冲区Unicode操作PasteTextW 从剪贴板复制UNICODE⽂本InsertTextW 插⼊UNICODE⽂本InsertTextFromFileW 从⽂件插⼊UNICODE⽂本拼写检查GetCurrentMisspelling 返回当前位置有错语的词LiveSpellingMode 拼写检查开关检查点SetCheckpointInfoEd 给特殊的元素增加检查点RemoveCheckpointEd 删除特殊元素的检查点GetCurrentCheckpoint 返回当前元素的检查点SetCurrentCheckpointInfo 增加或者编辑当前元素的检查点RemoveCurrentCheckpoint 删除当前元素的检查点InsertCheckpoint 当前位置增加检查点GetCheckpointAtCaret 返回当前位置的检查点RemoveCheckpointAtCaret 删除当前检查点
TDBRichView TDBRichViewEdit TRVPrint TRVPrintPreview,TRVReportHelper
TDBRichView,TDBRichViewEdit主要⽤于显⽰,编辑数据感之内容
和RichView⼀样,DBRichView,DBRichViewEdit如果不关联RVStyle也是不能显⽰任何内容的。
TDBRichView,DBRichViewEdit⽀持如下类型
RVF RichView⽂件类型
RTF RichView⽂本类型
text ⽂本
others 其它
TRVPrint
TRVPrint主要⽤于打印RICHVIEW⽂档,运⾏时不可见
使⽤⽅法
1 先指定要打印的内容
2 指定页眉或页脚
3 格式化内容
4 打印或者预览
5 释放内存
事件⽅法
OnFormatting 当页码发⽣改变时触发
OnSendingToPrinter 打印时触发
OnPagePrepaint and OnPagePostpaint 允许在页⾯个重绘
OnPrintComponent 打印组件
页边距
LeftMarginMM 左边距
RightMarginMM 右边距
TopMarginMM 上边距
BottomMarginMM 下边距
这⾥的边距和⽂档编辑时边距是不同的,⼀个针对页⾯,⼀个针对⽂档
TRVPrintPreview
预览⽂档,要先关联TRVPrint,并且打印设置已经准备完毕
TRVReportHelper
TRVReportHelper和TRVPrint相似,TRVPrint是把⽂档送⼊打印机,TRVReportHelper则是把⽂档送到任何canvas上显⽰如:屏幕,打印机,IMAGE等TRVOfficeConverter
TRVOfficeConverter允许在RICHVIEW中使⽤Microsoft Office(32位板本的)⽂本格式
ScaleRichView
ScaleRichView是⼀个TRichView的插件,⽤TRichView引擎来呈现⽂档,ScaleRichView上的⽂档其实就是⼀个隐藏的RICHVIEWEDIT
,所以你可以像使⽤RIHCVIEW⼀样使⽤ScaleRichView,安装ScaleRichView之前⼀定要先安装TRIHCVIEW,通常在开发过程中⽤捆绑⽅式(RichView+ScaleRichView)进⾏开发
ScaleRichView 主要功能介绍
1 ⽀持所有RICHVIEW功能
3 快速编码
4 ⽀持差不多120多种⽂档格式
5 ⽀持打印不同⽂档样式,如⽂档编辑时为A4样式,打印时可以选择A5样式
6 页⾯定位
7 ⽀持多种部署模式
8 滚动显⽰
ScaleRichView组件介绍(后⾯发布将对下⾯类⼀个⼀个的详细介绍)
1 TSRichViewEdit
可以以所见即所得模式编辑⽂档,⽀持多种页⾯浏览模式,包括页⾯视图模式
2 TDBSRichViewEdit
和TSRichViewEdit ⼀样,只不过⽤于数据感之,也是所见即所得
3 TSclRVRuler
TSRichViewEdit的标尺,⽔平和垂直,继承TRVRuler
4 TSRVToolBar
⼯具栏
5 TSRVToolWindow
弹出式窗⼝,可以把放⼯具栏
6 TSRVPageScroll
显⽰⽂档缩略图
7 TSRVPrint
打印⽂档
8 TSRVPreview
浏览⽂档
4、TSRichViewEditTSRichViewEdit主要是⽤来处理⽂本内容,下⾯是⼀些常⽤属性和⽅法,事件属性:RichViewEdit:返回⼀个TRichViewEdit组件,然后通过
TRichViewEdit⼀个属性⽅法来操作⽂档,默认情况下,TSRichViewEdit使⽤了⼀个内部的TRichViewEdit,如果你想使⽤⾃定义的TRichViewEdit,只要关联TSRichViewEdit
的ExternalRV属性,如果想使⽤⾃定义的TRVStyle,则只要关联其ExternalRVSYTLE就⾏RVHeader 页眉编辑器RVFooter 页脚编辑器RVNote 脚注和尾注编辑器PageProperty
相关页的属性ViewProperty 查看模式BackgroundProperty 背景属性下⾯的⼀些属性提供了访问RichViewEdit的属性,⽤法和RichViewEdit⼀样,前⾯有讲过,这⾥就不讲了,
属性名相同,这个属性也可适⽤于其它编辑
器.AnimationMode .BiDiMode .CPEventKind .ReadOnly .RTFOptions .RTFReadProperties .RVBackgroundBitmap .RVBackgroundStyle .RVColor .RVEditorOptions .RVFOptions .R SmartPopupVisible .TabNavigation下⾯⼀些属性是允许在编辑时改变属性值的HScrollPos 设置或者得到滚动的位置HScrollBar 和 VScrollBar 显⽰或者隐藏滚动条
OnHScrolled 和 OnVScrolled 滚动事件ScrolledPage 返回第⼀页码MenuHButtons 和 MenuHorizontal ⽔平菜单设置MenuVButtons 和 MenuVertical 垂直菜单设置⽅法
ConvertRVToSRV 和 ConvertSRVToRV 允许TSRichViewEdit和RichViewEdit之间位置转换GetPageClientRect 返回页的位置GetItemBounds 返回页⾯元素位置
GetCaretPosInUnits 返回当前位置GetPageAt 返回指定位置的页⾯GetItemAt 返回指定位置的元素UnitsPerInchH UnitsPerInchV 允许单元之间的坐标转换
FindNextHyperlink/FindPriorHyperlink 查超链接FindNextCheckpoint/FindPriorCheckpoint查检查点FindNextItem/FindPriorItem 查元素
FindNextHeading/FindPriorHeading查标题NextCurHyperlink/PriorCurHyperlink选择超链接NextCurCheckpoint/PriorCurCheckpoint选择检查点NextCurItem/PriorCurItem选择
元素NextCurHeading/PriorCurHeading 移动到当前的标题RangeSearch指定范围查FirstCurPage光标移动第⼀页PriorCurPage光标移动前⼀页NextCurPage光标移动下⼀页
LastCurPage光标移动最后⼀页PrintAll打印整个⽂档PrintCurrent打印当前页⾯PrintRange打印指定范围内容MinPrintedItemNo 和 MaxPrintedItemNo 允许从指定元素之间打印
DrawPage和DrawMetafile允许把⽂档显⽰到其它画布或者图元上事件OnPageFormatChanged 当 PageProperty和PageFormat属性改变发⽣OnChangeViewModeAfter 当
ViewProperty属性改变时发⽣OnChangeViewModeBefore 当ViewMode属性改变时发⽣OnZoomChanged 当ViewProperty.ZoomPercent或.ZoomMode属性改变时发⽣
OnHScrolled, OnVScrolled, OnPageScrolled滚动时发⽣OnCurrentPageChange 移动到其它页⾯时发⽣OnPageCountChanged ⽂档页数发⽣变化时发⽣OnClickPage 单击页
⾯后发⽣OnPaintPage 画⾃定义页⾯,如果默认⽅法不能完全显⽰时,可⽤此⽅法OnPaintComponent 显⽰控件OnPaint 显⽰其它OnCheckControl 枚举所以加⼊的控件
OnMessageControl 允许加⼊的控件响应消息OnGetPagePos 允许⾃定义页的位置和顺序表格图标先设置ViewProperty的UseTableIcons属性为TRUE,当⽤户把光标移动到表
格上时,表格左上⽅会显⽰⼀个⼩图标,当光标移⾛时,图标消失,同时触发OnTableIconClick事件
Table(表格)
table是RICHVIEW⾥⾯⼀个⽐较特殊的元素,也是RICHVIEW众元素中最复杂的⼀种,TABLE由单元格组成,在RICHVIEW⾥,每个单元格相当于⼀个RICHVIEW⽂档,单元
格⾥⾯可以表格等各种元素,理论上表格是可以⽆限嵌套,这样的结构就导致了其复杂性。
Table属性
BorderWidth 表的边框长度
BorderStyle 边框样式
BorderColor 边框颜⾊
BorderLightColor 3D外观边框颜⾊
VisibleBorders 边框的显⽰和隐藏
CellBorderWidth 单元格边框长度
CellBorderStyle 单元格边框样式
CellBorderColor 单元格边框颜⾊
CellBorderLightColor 3D外观单元格边框颜⾊
CellHSpacing 单元格之间的⽔平距离
CellVSpacing 单元格之间的垂直距离
BorderHSpacing 表边框与表最外层单元格之间的⽔平距离
BorderVSpacing表边框与表最外层单元格之间的垂直距离
Color 表的背景⾊
BackgroundImage 背景图
BackgroundStyle 背景样式
BackgroundImageFileName 在HTML中保存背景图名
Table⽅法
InsertColsLeft 当前单元格左边增加列
InsertColsRight 当前单元格右边增加列
InsertRowsAbove当前单元格上⾯增加⾏
InsertRowsBelow 当前单元格下⾯增加⾏
DeleteSelectedCols删除选中列
DeleteSelectedRows删除选中⾏
MergeSelectedCells 合并单元格
UnmergeSelectedCells拆分单元格
SplitSelectedCellsHorizontally 将选中的单元格拆分成⼏⾏
SplitSelectedCellsVertically 将选中的单元格拆分成⼏列
InsertCols 指定位置增加列
InsertRows 指定位置增加⾏
DeleteCols 删除指定列
DeleteRows 删除指定⾏
MergeCells 合并指定范围内的单元格
UnmergeCells 拆分指定范围内的单元格
DeleteEmptyRows 删除所有带有空单元各的⾏
DeleteEmptyCols 删除所有带有空单元各的列
TABLE⽤法
创建
...
var table:TRVTableItemInfo;
...
table := TRVTableItemInfo.CreateEx(RowCount,ColumnCount,RVData);
RVData是你要创建表的⽂档,⼀般是指richview.RVData或richviewedit.RVData
RICHVIEW中增加表
table.ParaNo := <Paragraph Style Index>
richview.AddItem(<Table name>, table)
Paragraph Style Index 是这个表的索引值
Table name 表的名字,⼀个字符串,不是指这个对象名
这个⽅法不⽤在显⽰⽂档之前重新格式化。
richviewedit.InsertItem(<Table name>, table)
这个⽅法是在当前位置加⼊表,不管光标在⽂档中,还是在表格或者单元格中(光标在哪就加到哪),如果⽂档是只读或者处于保护状态,⽤这个⽅法后,会返回⼀个FALSE,如果光标在表格中,这个⽅法将⾃动释放表格
cell⽤法
cell(单元格)是表格的主属性,因为每个CELL相当于⼀个RICHEDIT,所以⽤法和RICHEDIT差不多,但要注意的事,这些⽤法⼀般只是相对于光标当前所以的位置,也就是说,如果光标在表格⾥,同样的⽅法就是对表格的作⽤,如果在表格外,就是对外⾯的RICHEDIT的作⽤,如果⼀个⽂档⾥⾯同时有多个表格的时候,光标在任意地⽅,你想往某个表格中的某个单元格输⼊内容时,这时就要⾃⼰判断地⽅了。这是因为,当光标点某个地⽅时,RICHEDIT实际上已经帮你判断好了位置。
那么,如何在⼀个⽂档的表格⾥⾯的指定的⼀个单元格⾥⾯,输⼊⾃⼰的内容呢?
假设现在有⼀个⽂档,⾥⾯有⼀个表格(多个表格⼤家⾃⼰去想,⽅法⼀样)
,这个表格⾥⾯有⼆个单元格,我现在想在第⼆个单元格中输⼊‘我爱你’三个字,并且此时光标在任意地⽅,下⾯是最简单实现⽅法
for i:= 0 to itemcount -1 do
begin
if getitem(i) is TRVTableItemInfo then
begin
RVData:=TRVTableItemInfo(item).cells[0,1].AddNLATag('我爱你', 0, 0, '');
break;
end;
end;
如果此时的单元格你不知道多少个,可以⽤遍历表格单元格⽅法,如下,我要得到表格中,每个单元格的中的⽂字
for row := 0 to TRVTableItemInfo(item).RowCount-1 do
begin
for col := 0 to table.ColCount-1 do
if table.Cells[row,col]<>nil then
begin
RVData := table.Cells[row,col].GetRVData;//得到第⼀个单元格内容
for i := 0 to RVData.ItemCount-1 do //开始遍历格⼦中的元素,和RICHEDIT⼀样
begin
if (i>0) and RVData.IsFromNewLine(i) then
Result := Result + #13#10;
if RVData.GetItemStyle(i)=rvsTab then
Result := Result + #9
else if RVData.GetItemStyle(i)>=0 then
Result := Result + RVData.GetItemText(i);//得到第⼀个单元格的⽂字
end;
Result := Result + table.TextColSeparator;//遍历第⼀⾏的所有格⼦,值相加
end;
Result := Result + table.TextRowSeparator;//遍历所有⾏的格⼦,值相加,最终得到每个格⼦的值
end;
1.TSRVButton
继承⾃TSRVCustomControl类,其属性分别为:
Default:布尔类型,默认FALSE,当⽤户按下Enter键时,将执⾏该按钮的OnClick事件。但有⼀个例外,如果当前拥有输⼊焦点的控件为另⼀个按钮时,按Enter键时则只执⾏当前按钮的 OnClick事件。
FocusRectOffset:整型,默认3,控件边缘到聚焦虚线之间的距离。
Glyph:TPicture类型,默认空,指定⼀个显⽰的图像。
ModalResult:TModalResult类型,默认mrNone,模态值。当我们单击位图按钮时,将把对话框的模态值设为相同的值。它将决定位图按钮的⽗窗体的关闭⽅式。如单击mbOk按钮,将关闭对话框,返回mrOk值。
MouseBorderWidth:整型,默认2,边长。按下按钮时,指定图标和标题移动多远。
ShowFocusRect:布尔类型,默认TRUE,显⽰或隐藏聚焦时的虚线。
事件:
OnClick,单击触发。
2.TSRVCheckBox
继承⾃TSRVCustomControl类,其属性分别为:
AllowGrayed:布尔类型,默认FALSE,变灰状态。
Checked:布尔类型,默认FALSE,是否选中状态,使⽤前AllowGrayed必须设置为TRUE。
State:TSRVCheckBoxState类型以,默认cbUnchecked,表⽰复选框的当前状态.cbchecked 表⽰选
中, cbunchecked表⽰未选中, cbgrayedb表⽰变灰状态。
3.TSRVComboBox
继承⾃TSRVCustomComboBox类,⼀个可以⽤于显⽰图像和提⽰信息的列表编辑框,所有属性和事件均继承TSRVCustomComboBox。
4.TSRVEdit
继承⾃TSRVEditControl类,⽂本输⼊框,带⼀个可选择弹出列表提⽰框。其属性分别为:
AutoSize:布尔类型,默认true,⾃动调整⼤⼩。
CharCase:TSRVEditCharCase类型,默认srvecNormal,⼤⼩字状态。
DropDownHints:整型,默认10,定义提⽰显⽰的条⽬数。
MaxLength:整型,默认0,指定可输⼊的最⼤字符长度,0为⽆限制。
PasswordChar:Char类型,默认#0,指定显⽰的字符,设置后⽆输字符将⽤设置的字符代替显⽰。
ReadOnly:布尔类型,默认FALSE,是否只读。
Modified:布尔类型,默认空,判断⽂本是否修改。
SelText:STRING类型,选择指定字符。
事件:
OnChange:⽂本改变时发⽣。
OnEditHints:列表提⽰框显⽰时发⽣。
OnCloseHints:列表提⽰框关闭时发⽣。
5.TSRVGroupBox
继承⾃TSRVCustomControl类,其属性分别为:
BorderColor:TColor类型,默认$00B8D8D7,边条线颜⾊。
BorderWidth:整型,默认1,边条线宽。
CaptionOffset:整型,默认10,边条线到标题的距离。
CornersOffset:整型,默认10,边圆⾓⼤⼩。
6.TSRVImagesScroll
继承⾃TSRVCustomControl类,⽤于显⽰图像列表,其属性分别为:
CanMoveImages:布尔类型,默认TRUE,是否可⽤⿏标移动图像。
CloseButton:定义每张图像的关闭按扭。
DoubleBuffered:打开双缓冲。
ImageList:连接⼀个⽤于显⽰的图像表。
Indent:缩进距离。
ItemHeight:图像⾼,
ItemIndex:选中图像的索引。
Items:图像对象。
ItemWidth:图像长。
Kind:图像放置⽅式。
RestrictMove:是否可以移动图像到控件外⾯,使⽤前选设置CanMoveImages为TRUE。
Spacings:每张图像之间距离。
ItemBorderStyle:图像边框样式。
ItemBorderColor:图像边框颜⾊。
ItemColor:图像颜⾊。
ItemDownColor:按下后的颜⾊。
ItemHotColor:移动到图像上的颜⾊。
ItemSelectedColor:选择择后的颜⾊。
DecButtonWidth:按扭外观样式。
LargeChange:单击滚动条后移动的距离。
ScrollBarHeight:滚动条⾼度。
ScrollerPosition:滚动条位置。
ScrollingDelay:滚动条速度。
SmallChange:单击滚动条上的箭头按扭后移动的距离。
textstyle事件:
OnChange:图像选择时发⽣。
OnItemMove:⼆个图像位置发⽣变化时发⽣。
OnCloseItem:关闭图像时发⽣。
OnDrawBorder, OnDrawBackground, OnDrawItem, OnDrawCloseButton:⾃绘图像,CANVAS为画布,ARect指定图像位置,APaintRect重新绘图的位置,可以使⽤这个属性优化绘图⽅法。 state对像状态,设置DoDefault,防⽌对像以默认⽅式绘图。
7.TSRVLabel
继承⾃TSRVGraphicControl,所有属性和事件均继承TSRVGraphicControl。
8.TSRVListBox
继承⾃TSRVCustomListBox,所有属性和事件均继承TSRVCustomListBox。
9.TSRVPaintBox
继承⾃TSRVCanvasControl,所有属性和事件均继承TSRVCanvasControl,⽤于提供⼀个画布供程序使⽤。
10.TSRVPanel
继承⾃TSRVCustomControl,⼀个泛型的⾯板控诉。其属性分别为:
BorderColor:边界线颜⾊。
BorderWidth:边界线长度。
CaptionOffset:边界到标题的距离。
CornersOffset:圆⾓⼤⼩。
11.TSRVRadioButton
继承⾃TSRVCustomControl,单选按扭。其属性分别为:
Checked:是否选定。
.SaveReg 保存 RVStyle 属性到注册⽂件;
.LoadReg 加载RVStyle 属性到注册⽂件.
.SaveCSS 保存.RVStyle样式到CSS⽂件
.SaveCSSToStream.保存.RVStyle样式为CSS⽂件,然后保存到流
RVSTYLE事件
.OnDrawCheckpoint 画检查点;
.OnDrawPageBreak – 画分隔线;
.OnDrawParaBack – 画段落背景;
.OnDrawTextBack – 画⽂本背景;
.OnApplyStyle – 保存⽂本类型到画布;
.OnApplyStyleColor – 保存⽂本颜⾊到画布;
.OnDrawStyleText – 指定的⽂本类型;
.OnStyleHoverSensitive –重画,当⿏标移进或者移出指定的⽂本类型时重画样式;
2.TRichView
TRichView组件主要⽤于显⽰⽂档内容的,包括图⽚,表格,⽂字,甚⾄可以显⽰其它组件。使⽤之前必须要关联TRVSTYLE(前⾯有介绍),不关联是不能显⽰的。TRichView有个重要的属性集SETTINGS,⾥⾯可以设置⼀些重要的参数。
TRichView属性,事件,⽅法;
.Style – 关联TRVSTYLE样式
.Options – ⼀些重要的操作(以后会讲到);
.ItemCount – ⽂档中元素数量.
.BackgroundBitmap- ⽂档背景图⽚
.BackgroundStyle - ⽂档背景图⽚显⽰样式
.Color.⽂档背景颜⾊
.FirstJumpNo 为第⼀个超⽂本增加ID号;
TRichView插⼊事件;
.AddNL 增加⽂本元素;
.AddBreakEx 增加分隔线;
.AddPictureEx 增加图⽚;
.AddHotPicture 增加热点图⽚;
.
AddControlEx 增加组件;
.Add 在⽂本后⾯增加字符;
.AddFmt 增加特点格式字符集
.Clear 清除⽂档内容
.Format, FormatTail 格式化⽂档内容;
.Reformat 重新格式化⽂档;
.OnJump 当光标点击超链接时发⽣;
.OnRVMouseMove 当光标移动到超链接时发⽣;
.GetJumpPointItemNo 跳转到指定ID号的元素;
.LeftMargin, RightMargin, TopMargin, BottomMargin 左右上下边距;
.MaxTextWidth 最长⾏(字符数);
.
MinTextWidth 最短⾏(字符数);
.DocumentHeight ⽂档⾼;
.VAlign 垂直效准线;
.VScrollVisible 垂直滑动条开关;
.HScrollVisible 平⽔滑动条开关;
.VSmallStep 垂直滑动条滑动幅度;
.OnVScrolled 垂直滑动条事件;
.OnHScrolled ⽔平滑动条事件;
.Copy 复制选择的内容到剪切板;
.CopyDef 选择⽅式复制选择的内容到剪切板;
.CopyImage 复制选择的图⽚到剪切板;
.
CopyTextA 复制选择的内容,以⽂本形式到剪切板;
.CopyTextW 复制选择的内容,以Unicode格式到剪切板;
.CopyRVF 复制选择的内容,以RVF格式到剪切板;
.CopyRTF 复制选择的内容,以RTF格式到剪切板;
.GetSelectedImage 返回选择的图⽚;
.GetSelText 返回选择的⽂本;
.GetSelTextW 以Unicode字符形式返回选择的内容;
.SelectAll 全选;
.SetSelectionBounds 选择指定的元素;
.SelectWordAt 选择⼀个指定坐标上的字符;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论