FoxTreeListView
<p>FoxTreeListView,FoxUI提供的树状列表浏览容器组件。
<strong>属性</strong>
Alpha 透明度</p>
<p>CaptionEdit 是否运行编辑标题</p>
<p>HorzScrollBar 横向滚动条</p>
<p>HotTrack 是否对鼠标经过进行反映</p>
<p>HeadItems 列表头集合</p>
<p>HeadImgList 列表头图标列表</p>
<p>HeadSetting 列表头设置
AutoSize 是否自动铺满
Font 列表头字体
Height列表头高度
SplitWidth 分割线宽度
SortArrowSet 排列箭头设置
ArrowPos 箭头位置 可以在顶部 底部 或者标题右边
OffsetX 横向偏移
OffsetY 竖向偏移
Width 箭头宽度
Height 箭头高度</p>
<p>ImageList 图标列表 对接 <a href="https://www.showdoc.cc/p/ff039e66f52948a431eb58f823029a54" title="FoxUIBmp32List">FoxUIBmp32List</a></p>
<p>ItemHeight 默认项高度</p>
<p>MarginSet 间距管理
CheckBox 勾选框间距
ImgList 图标间距
Btn 按钮间距
Head 列表头间距
Item 项间距
Txt 文字间距</p>
<p>MultiSelect 是否支持多选</p>
<p>MsSiblingOnly 多选的时候是否只针对同一级节点</p>
<p>MsItemVisOnly 勾选框同步是否计算不可见项</p>
<p>PopupMenu 右键菜单 对接 <a href="https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0" title="FoxPopupMenu">FoxPopupMenu</a></p>
<p>RightSelect 是否支持右键选中项</p>
<p>RoundValue 圆角设置</p>
<p>ShowButton 是否显示展开按钮</p>
<p>ShowLine 是否显示节点虚线</p>
<p>ShowCheckBox 是否显示勾选框</p>
<p>ShowItemHint 是否自动显示项的文字提示 包括超长文字自动提示</p>
<p>SkinSet 皮肤管理
Back 背景图皮肤序号
BtnExpand 按钮皮肤序号
Check 勾选框皮肤序号
Item 项皮肤序号
Head 列表头皮肤序号
Arrow 箭头皮肤序号
Line 分割线皮肤序号</p>
<p>VertScrollBar 竖向滚动条</p>
<p>Transparent 背景透明</p>
<p><strong>提供的事件</strong></p>
<p>OnAfterDraw(Sender: TObject; DstBmp: TBitmap32;Arect: TRect);</p>
<p>OnBeforeDraw(Sender: TObject; DstBmp: TBitmap32;Arect: TRect);
内部绘制前后事件</p>
<p>OnBorderSelect 边框颜色输出事件</p>
<p>OnAfterBackDraw 背景绘制后触发</p>
<p>OnItemAfterDraw,OnItemBeforeDraw 项绘制前后触发</p>
<p>OnItemFontSelect(Sender: TObject; AFont: TFont);
文字输出时候触发 方便动态修改字体</p>
<p>OnItemColorSelect 项颜色选择触发</p>
<p>OnHeadItemChecked 列表头勾选触发</p>
<p>OnHeadItemClick 列表头点击触发</p>
<p>OnItemSelectChange 当项选中状态变化的时候触发</p>
<p>OnHeadItemAfterDraw OnHeadItemBeforeDraw 列表头绘制前后触发</p>
<p>OnHeadItemColorSelect 列表项颜色事件
OnHeadItemFontSelect 列表项文字字体自定义事件
OnHeadItemGetCaption 列表项动态获取文字事件</p>
<p>OnHeadItemAllowSort 动态设定列表头是否可以排序</p>
<p>OnHeadItemSortChanged 列表头排序变化事件</p>
<p>OnHeadItemSizeChanged 列表头尺寸变化事件</p>
<p>OnItemGetImgIndex 图标输出的时候触发</p>
<p>OnItemGetCaption 获取项名称内容</p>
<p>OnItemCheck 项勾选触发</p>
<p>OnItemAllowCheck 项是否可以勾选</p>
<p>OnItemParentAllowCheck 父节点是否可以勾选事件</p>
<p>OnItemAllowSelect 项是否可以选中事件</p>
<p>OnItemAllowSelectChange 控制是否接受切换选中状态</p>
<p>OnItemClick 项点击触发</p>
<p>OnItemDbClick 项双击</p>
<p>OnItemDataDelete 如果有项的绑定数据在这个事件里可以释放</p>
<p>OnItemExpand 项展开触发</p>
<p>OnItemAllowExpand 项是否可以展开</p>
<p>OnItemEditInit 项编辑器初始化事件 我们可以对edit进行配置</p>
<p>OnItemAllowEdit 项编辑触发,我们可以禁止编辑</p>
<p><del>OnItemCaptionEdit 当标题编辑变化的时候触发 我们可以阻止和动态修改内容</del>统一到OnItemRenameCaption事件</p>
<p>OnItemRenameCaption 当标题修改的时候触发</p>
<p>OnItemMouseOver,OnitemMouseDown,OnItemMouseUp 项的鼠标事件,如果我们有自绘的对象,适合在这几个事件里进行判断联动。</p>
<p>OnItemOwnerDraw 项自定义绘制</p>
<p>OnItemMeasure 项动态修改尺寸</p>
<p>OnSubItemOwnerDraw 项的从属项绘制适合触发 我们可以在这里画我们自己的内容 比如按钮 进度条等等</p>
<p>OnScroll 滚动条滚动事件</p>
<p>OnHorzScrollGetAlpha 横向滚动条动态设定透明</p>
<p>OnvertScrollGetAlpha 竖向滚动条动态设定透明</p>
<p>OnHeaderGetAlpha 表头获取透明值</p>
<p>OnHeaderBeforeDraw 绘制表头前触发事件</p>
<p>OnHeaderAfterDraw 绘制表头完触发事件</p>
<p><strong>提供的方法</strong>
Procedure Clear;//清除所有的项
Procedure ClearHeader;//清除所有的列表头
procedure SortItemList(Compare: TListSortCompare);//排序
Procedure ExpandItem(Rootitem:TFoxTLVItem;IsExpand:Boolean;includeChild:Boolean);//展开或收缩
procedure SetAllChildChecked(Root:TFoxTLVItem;ischeck:Boolean); //设置所有被选中
procedure InvalidateItem(Aitem:TFoxTLVItem);//区域更新个项
Procedure RepaintHeadItems;//重绘制列表头
Function AddItem:TFoxTLVItem;overload;//加入item//增加项
Procedure Additem(item:TFoxTLVItem);overload;
Function AddHeadItem:TFoxTlvHeadItem;overload;//加入Headitem
Procedure DeleteItem(Aitem:TFoxTLVItem);//删除一个项
Procedure DeleteSelected;//删除所有选中
Procedure DoCancelAllSelected;//取消所有选中
Procedure DoCancelAllChecked;//取消所有勾选
procedure MakeItemVisible(Aitem:TFoxTLVItem;Ani:Boolean=true);//让某一项选中可见
Procedure ActiveItemHint(hintStr:string;Pt:Tpoint); //显示项目提示
procedure CloseItemHint;//关闭项目提示
procedure MoveItem(SrcItem,DestItem:TFoxTlvItem);//移动项目
Function GetPrvVisItem(AItem:TFoxTlvItem):TFoxTlvItem;//获取前面一个可见的项
Function GetNextVisItem(AItem:TFoxTlvItem):TFoxTlvItem;//获取下面一个可见的项
function GetFirstLevel(ALevel:Integer):TFoxTlVItem;//返回对应级的第一个item
function GetNextLevel(Aitem:TFoxTlVItem;ALevel:Integer):TFoxTlvItem;//获取对应级别的下一个同级item
function ItemAtPos(pt:TPoint):TFoxTlvItem;//光标获取到的item
function SaveToFile(FileName:String):Boolean;//把结构保持成json文件
function SaveToSteam(Stream:TStream):Boolean;//保存json到流
function LoadFromFile(FileName:String):boolean;//从json文件里载入结构
function LoadFromStream(Stream:TStream):Boolean;//从json流载入
procedure DisplayNextItem;//显示下一个item
procedure DisplayPrvItem;//显示前一个item</p>