起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 221|回复: 6

如何实现DataTreeView的CheckedBox的功能?**

[复制链接]
发表于 2005-6-13 17:34:44 | 显示全部楼层 |阅读模式
如何实现DataTreeView的CheckedBox的功能?
回复

使用道具 举报

发表于 2005-6-13 18:06:27 | 显示全部楼层
请参考如下代码:

procedure TPLANCENTERForm.cdtvPlanTypes4FilteGetImageIndex(Sender: TObject; DataSet: TDataSet; var ImageIndex: Integer);
begin
  ImageIndex := Integer(TCheckboxImageIndex.ciSelect);
end;

procedure TPLANCENTERForm.cdtvPlanTypes4FilteMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  lObj: TTreeNode;
begin
  lObj := cdtvPlanTypes4Filte.GetNodeAt(X,Y);
  if lObj = nil then exit;
  SetTreeNodeImageIndex(lObj);
end;

procedure TPLANCENTERForm.SetTreeNodeImageIndex(AObj: TTreeNode);
var
  I: integer;
begin
  AObj.ImageIndex := Integer(not Boolean(AObj.ImageIndex));
  for I := 0 to AObj.Count -1 do
  begin
    if AObj.Item[I].HasChildren then SetTreeNodeImageIndex(AObj.Item[I]);
    AObj.Item[I].ImageIndex := AObj.ImageIndex;
  end;
  AObj.SelectedIndex := AObj.ImageIndex;
end;

aa.jpg

16.93 KB, 下载次数: 157

回复 支持 反对

使用道具 举报

发表于 2005-6-16 14:49:37 | 显示全部楼层
楼主:实现了么?
回复 支持 反对

使用道具 举报

发表于 2008-12-24 16:07:44 | 显示全部楼层
这个帖子中的TCheckboxImageIndex是从哪儿来的呢?
回复 支持 反对

使用道具 举报

发表于 2008-12-24 17:12:50 | 显示全部楼层
TCheckboxImageIndex 这个应该是自定义的类吧,我们可以不用关心
GetImageIndex这个事件中给ImageIndex 赋值就可以了,主要是在数展现的时候使用的是那个图标。
回复 支持 反对

使用道具 举报

发表于 2008-12-24 17:34:26 | 显示全部楼层
最初由 shangxy 发布
[B]TCheckboxImageIndex 这个应该是自定义的类吧,我们可以不用关心
GetImageIndex这个事件中给ImageIndex 赋值就可以了,主要是在数展现的时候使用的是那个图标。 [/B]

这个图标我在哪儿定义呢?定义之后需要的datatreeview的属性里面设置什么呢?
回复 支持 反对

使用道具 举报

发表于 2008-12-25 08:53:29 | 显示全部楼层
把选中图标和为未选中图标等都放到ImageList中,
然后DataTreeView的Images属性制定到这个ImageList就可以了。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 20:03 , Processed in 0.044667 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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