VST1: TVirtualStringTree;
//按钮公用函数,根据不同 标签tag区分,
Screen.Cursor := crHourGlass; //设置屏幕鼠标的形状为crhourGlass
with VST1 do
try
Start := GetTickCount; // Start: Cardinal;
case (Sender as TButton).Tag of
0: // add to root
begin
Count := StrToInt(NodeCountEdit.Text);
RootNodeCount := Integer(RootNodeCount) + Count; //TVirtualStringTree的属性,写函数写好添加功能
end;
1: // add as child
if Assigned(FocusedNode) then
begin
Count := StrToInt(NodeCountEdit.Text);
ChildCount[FocusedNode] := Integer(ChildCount[FocusedNode]) + Count; //TVirtualStringTree的属性,写函数写好添加子项功能
Expanded[FocusedNode] := True;
InvalidateToBottom(FocusedNode);
end;
end;
Label1.Caption := Format('Last operation duration: %d ms', [GetTickCount - Start]);//计算耗时毫秒
Label3.Caption := Format('Nodes in tree: %d', [VST1.TotalCount]);
finally
Screen.Cursor := crDefault;//恢复光标
end;
-------------------
VST1.Clear; //清除
VST1.DeleteSelectedNodes;//删除 所选择的项
VST1.TreeOptions.PaintOptions + [toShowBackground] //在子集里面添加可以显示背景图
------------------
begin
with OPD do //TOpenPictureDialog
begin
if Execute then
begin
VST1.Background.LoadFromFile(FileName); //加载背景图片,貌似bmp格式会好些
// VST1.Invalidate //隐藏背景图
end;
end;
end; ----------------
通过TRadioGroup的第二个单选,巧妙地:
with VST2.TreeOptions do
if ThemeRadioGroup.ItemIndex = 0 then
PaintOptions := PaintOptions + [toThemeAware] //添加子集
else
PaintOptions := PaintOptions - [toThemeAware];
RadioGroup1.Enabled := ThemeRadioGroup.ItemIndex = 1; //巧妙地取为 boolean类型
RadioGroup2.Enabled := ThemeRadioGroup.ItemIndex = 1;
---------------
TCheckImageKind = ( //定义的枚举类型
ckLightCheck, // gray cross
ckDarkCheck, // black cross
ckLightTick, // gray tick mark
ckDarkTick, // black tick mark
ckFlat, // flat images (no 3D border)
ckXP, // Windows XP style
ckCustom, // application defined check images
ckSystem, // System defined check images.
ckSystemFlat // Flat system defined check images.
);
VST2.CheckImageKind := TCheckImageKind(CheckMarkCombo.ItemIndex);//通过combobox的值巧妙地取出枚举类型值并赋值给
-------------
with Sender as TCheckBox, AlignTree.Header do
Options := Options + [hoShowImages];//显示图像
Options := Options + [hoVisible] //可以显示表格 头标题 [coEnabled]是否可以失效
ChangeHeaderText; //显示文字或隐藏
----------------
可以做像预览的效果,当页面上无法完全显示时,可以浮动显示整个字段。--有待分析。
Label显示多行字还是不错的,比Memo好看,但后者可以复制操作等。
-------------
Columns = < //设定里面的每一栏 是否可以点击或高亮显示,--有待分析。
item
ImageIndex = 1
Options = [coDraggable, coEnabled, coResizable, coShowDropMark, coVisible]
Position = 0
Spacing = -1
Width = 200
WideText = 'Default drawing'
WideHint = 'This column is drawn entirely by the tree.'
end

  

D7控件\dw_cd_VirtualTreeview_v4.5.2\Demos\Advanced---TVirtualStringTree用法的更多相关文章

  1. Android Material Design控件学习(一)——TabLayout的用法

    前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Desig ...

  2. Winform开发常用控件之TreeView菜单导航和权限用法

    TreeView一个很棒的控件,我们在做WEB开发时常常犯困的一个东东.当然这里介绍winform里面的用法唠. 先介绍几个属性吧,CheckBoxes设置为true的话树形节点前面会出现checkb ...

  3. EXTJS 4.2 资料 控件之Window窗体相关属性的用法

    最大化,最小化,是否显示关闭按钮 var win_CommonPicLibMultiple = Ext.create("Ext.window.Window", { title: & ...

  4. delphi中adoquery控件中某个字段Onvalidate事件的用法?

    procedure TForm2.ADOQuery1TestFieldValidate(Sender: TField);begin// Sender就是当前字段,可以在这里对Sender字段进行各种操 ...

  5. xtrapivotcontrol 控件用法及相关属性

    XtraPivotControl使用指南:可参照以下的文档: 转载自:http://wenku.baidu.com/view/d7886b20aaea998fcc220e53.html 上面链接中对x ...

  6. Android自定义控件1--自定义控件介绍

    Android控件基本介绍 Android本身提供了很多控件比如我们常用的有文本控件TextView和EditText:按钮控件Button和ImageButton状态开关按钮ToggleButton ...

  7. Android spinner控件

    spinner控件是Android中下拉控件,现在介绍它两种用法.第一种,从资源文件中获取下拉值:第二种,从代码中获取下拉值. 第一种,首先要在资源文件中把值写好: <?xml version= ...

  8. C# ListView 控件和 INotifyPropertyChanged 接口

    ListView 控件和 DataGridView 控件 ListView 是跟 Winform 中 DataGridView 用法以及显示效果差不多的一个 WPF 控件,可以通过列表的方式方便的显示 ...

  9. ListView 控件和 INotifyPropertyChanged 接口

    原文:ListView 控件和 INotifyPropertyChanged 接口 ListView 控件和 DataGridView 控件 ListView 是跟 Winform 中 DataGri ...

随机推荐

  1. php面向对象:封装

    OOP三大特性:封装.继承.多态. 封装的目的:为了让类更安全封装的做法:1.类里面的成员变量做为private2.使用成员方法来间接访问成员变量3.在该方法里面加限制条件 注意:php类里面不允许出 ...

  2. GoF23种设计模式

    创建型模式 1.ABSTRACT FACTORY-追MM少不了请吃饭了,麦当劳的套餐和肯德基的套餐都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说"两个B ...

  3. Hibernate单向多对一对象关系模型映射

    单向的many-to-one 案例: 班级和学生 父亲和子女 单向:只能由其中一方维护关系 Many-to-one中有many的一方法维护或者体现两者之间的关系. 单向的many-to-one描述学生 ...

  4. 第K 小数

    [问题描述]有两个正整数数列,元素个数分别为N和M.从两个数列中分别任取一个数相乘,这样一共可以得到N*M个数,询问这N*M个数中第K小数是多少.[输入格式]输入文件名为number.in.输入文件包 ...

  5. nyoj744(位运算)

    题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=744 思路:a^b可以得到a~b间任意两个数异或运算的长度的最大值,设为n,答案为:pow(2 ...

  6. Struts2拦截器之ExceptionMappingInterceptor(异常映射拦截器)

    一.异常拦截器是什么? 异常拦截器的作用是提供一个机会,可以设置在action执行过程中发生异常的时候映射到一个结果字符串而不是直接中断. 将异常整合到业务逻辑中,比如在分层系统的调用中可以从底层抛出 ...

  7. Clr Via C#读书笔记----基元线程同步构造

    线程文章:http://www.cnblogs.com/edisonchou/p/4848131.html 重点在于多个线程同时访问,保持线程的同步. 线程同步的问题: 1,线程同步比较繁琐,而且容易 ...

  8. MVC缓存02,使用数据层缓存,添加或修改时让缓存失效

    在"MVC缓存01,使用控制器缓存或数据层缓存"中,在数据层中可以设置缓存的有效时间.但这个还不够"智能",常常希望在编辑或创建的时候使缓存失效,加载新的数据. ...

  9. css控制文字显示长度,超过用省略号替代

    .line_text { width:200px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } <span cl ...

  10. EXCEL中汉字转大写拼音

    最近一直没有什么成系统的学习东西,也就没写什么随笔.昨天晚上,一哥们儿说给弄个输入汉字直接转拼音的程序,问了他几点需求,说你想做个啥的,最后,他说想做个EXCEL的,现在发现EXCEL确实是个好东西啊 ...