VirtualStringTree使用

博客介绍了完成VirtualStringTree排序的方法,需同时使用HeaderClick和CompareNodes。给出了CompareNodes的具体代码实现,根据不同列进行不同的比较逻辑,如比较客户名称、商品,以及整数类型的值。

完成VirtualStringTree排序,不仅要使用其HeaderClick还要使用CompareNodes:


procedure TFrmOrderList.ListOrderCompareNodes(Sender: TBaseVirtualTree;
  Node1, Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer);
var
  order1, order2: PlistOrder;
begin
  order1 := Sender.GetNodeData(Node1);
  order2 := Sender.GetNodeData(Node2);
  if Column = 0 then
  begin
    result := WideCompareStr(order1.customername,order2.customername)
  end
  else if Column = 1 then
    result := WideCompareStr(order1.goods,order2.goods) ;
  if Column = 2 then
  begin
      if order1.intType > order2.intType then
      result := 1
    else
      if order1.intType < order2.intType then
        result := -1
      else
        result := 0;
 end;

end;

VirtualTree 5.0版本,源代码和demo都有,安装只需要注意新建文件夹里面的东西就行了。我把VirtualTree.res里面的xp主题图标改了下,原来是绿色的,我改成蓝色了。安装方法: 1、先在cmd打开控制台,定位到delphi安装目录的bin目录下,运行dcc32命令,编译VirtualTrees.pas,比如:dcc32 C:\Users\Administrator\Desktop\virtualtree\新建文件夹\VirtualTrees.pas,然后会在新建文件夹里面生成一个VirtualTrees.dcu文件。 这步可能需要,安装时自己酌情考虑。 2、打开delphi--Component--install Component---Into new package,在unit file name点击browse定位到新建文件夹里面的VirtualTrees.pas文件,package file name里面输入组件包的名字,比如VirtualTreeD7.dpk,Package description 里面输入描述,这个就是在组建列表中显示的名称,自己取,然后点击ok,会自动编译,生成一个dpk文件。 3、打开dpk文件,在contains列表中看下是不是包含有VirtualTreesReg.pas,如果没有的话点击上面的add,在add unit中的unit file name中把VirtualTreesReg.pas文件添加上去,如果没增加这个文件编译也没问题,但是控件列表中有这个控件,但是组建列表中是空的,无法使用。如果编译waring提示什么pas文件被强制加入到dpk中的话,同样方法用add把文件加上就行了。 整个安装过程就这样,有什么问题可以联系我,本人也是新手,装了几天才装好的,qq:274776133,顺便扣点分下来,嘿嘿
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值