RichView 文档中的 ITEM
一、ITEM对象
1、TCustomRVItemInfo是TRichView文档中所有项目的基本类型。
2、除TCustomRVItemInfo外,众多类型可以构成ITEM:


3、组成ITEM对象之间的继承关系

二、ITEM是构成文档的基本要素
1、Item是文档中的基本绘图单元
2、Item分为文本Item和非文本Item
3、Item在文档中,0至ItemCount-1序列中,又由于ITEN的ParaSytle值(相同),组成段落。
注意:组成段落的条件:

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

5、Tag
每个Item都关联一个Tag值,旧版本中它是Integer类型的,新版本它是String类型。
Tag的功能就是方便索引的查找。
三、文档中的ITEM
1、文档是由ITEM组成。下图是一页文档,共有8个ITEM:

首行编号1是一个居中文本ITEM。
第一行编号2至4由三个ITEM构成一个段。2和4是文本,中间插入一个ITEMG。
第三行至第五行,编号5-7,都是一个ITEM,构成一个段落。
第六行,由是空串(换行),组成一个ITEM。
上述文档中,有8个ITEM,有6个段落。
2、获取ITEM的Count
property ItemCount: Integer;
实际操作:
for i := RichViewEdit1.ItemCount - 1 downto 0 do
注意:
(1)在文档中,一定要分清ITEM,对于段落的理解,可以看成相同ParaStylesr ITEM队列。
(2)ITEN文本中,不能有CR和LF(#13和#10)字符(回车和换行)
TAB(#09)tab键字符、 #0字符(空字符)、 FF(#12)换页字符。这些字符,可以单独组建 一个ITEM。
四、加入ITEM主要方法
AddNL 添加一个文本项;
AddBreak 添加了断线(水平线);
AddBullet 添加bullet(图片来自ImageList);
AddHotspot 添加热点(图片来自ImageList -超文本链接);
AddPicture 添加图片;
AddHotPicture 增加图片-超文本链接;
AddControl 添加Delphi/ c++ Builder控件;
AddTab 添加制表机;
AddItem 用于追加条目的通用方法(通常用于表);
AddCheckpoint 添加与下一个添加的物品相关联的检查点。
五、修改ITEM
1、获取文本
- procedure SetItemTextEd(ItemNo: Integer; const s: String);
- procedure SetItemTextEdA(ItemNo: Integer; const s: TRVAnsiString);
- procedure SetItemTextEdW(ItemNo: Integer; const s: TRVUnicodeString);
2、设置文本
- procedure SetItemTextEd(ItemNo: Integer; const s: String);
- procedure SetItemTextEdA(ItemNo: Integer; const s: TRVAnsiString);
- procedure SetItemTextEdW(ItemNo: Integer; const s: TRVUnicodeString);
参数:
ItemNo Item的序号
S 文本字符
六、删除ITEM
procedure DeleteItems(FirstItemNo, Count: Integer);
参数:
FirstItemNo 从0到ItemCount-1,删除的第一个ITEM。
Count 删除几个连续ITEM。
七、插入ITEM
- procedure SetItemTextEd(ItemNo: Integer; const s: String);
- procedure SetItemTextEdA(ItemNo: Integer; const s: TRVAnsiString);
- procedure SetItemTextEdW(ItemNo: Integer; const s: TRVUnicodeString);
八、其它应用
略。