起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: alang

[分享]组织机构相关控件

[复制链接]
 楼主| 发表于 2008-6-30 15:20:18 | 显示全部楼层
以下代码显示选中的节点
begin
  Dialogs.Showmessage(OrgComboBox1.FileName);
end;
运行效果

1.png

2.51 KB, 下载次数: 559

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 09:53:54 | 显示全部楼层

TCheckBizTreeView

说明
TCheckBizTreeView其实并不是真正的Check控件,而是用不同的图片现实从外观上象Check控件,因此有好几个图片索引的属性
属性
property StateImages: TCustomImageList;
状态显示用的ImageList
property CheckedImageIndex: Longint;        选中的图片
property UnCheckedImageIndex: Longint;        未选中的图片
property DisableCheckedImageIndex: Longint;        禁止选择的图片
property GrayCheckedImageIndex: Longint;        灰色的图片
property CheckOptions: Business.Model.TBizObjectKinds;
可以选中的对象类型
property Checked[TTreeNode]: Boolean;
判断某个节点时候被选中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 09:54:08 | 显示全部楼层
问题
靠Checked[TTreeNode]一个节点一个节点的判断是否选中效率非常低
事件
property OnClickCheck: TClickCheckEvent;
当选中或者取消一个节点时,触发这个事件
在事件中可以记录选中的节点,然后直接用这个记录来表示选中的节点
举例
procedure TMainForm.CheckBizTreeView1ClickCheck(Sender: TObject; ANode: TTreeNode; Checked: Boolean);
begin
  if Checked and (FSelected.IndexOfObject(ANode)<0) then
    FSelected.AddObject((ANode.Data as TBizNode).BizURL.URL, ANode);
  if not Checked and (FSelected.IndexOfObject(ANode)>=0) then
    FSelected.Delete(FSelected.IndexOfObject(ANode));
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 23:22 , Processed in 0.038293 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表