如题,主要是在权限设置用的树状如下。基本资料(a)
员工资料(b)
客户资料(c)
商家资料(d)
在此树中,主要是通过节点的imageindex来决定是否拥有此权限,imageindex=1为是,为2则否,
在程序中,是通过双击节点来改变imageindex的值的。
在此我想要的效果是当a点为2时,那么bcd要为2,另一种情况是,当bcd中任何一个为1时,那a必须为1.现在的问题是小弟对此控件不清楚,具体要如何实现呢?
员工资料(b)
客户资料(c)
商家资料(d)
在此树中,主要是通过节点的imageindex来决定是否拥有此权限,imageindex=1为是,为2则否,
在程序中,是通过双击节点来改变imageindex的值的。
在此我想要的效果是当a点为2时,那么bcd要为2,另一种情况是,当bcd中任何一个为1时,那a必须为1.现在的问题是小弟对此控件不清楚,具体要如何实现呢?
解决方案 »
- “无标题文档”解码
- 爆强 delphi 愛好者 [b]c/s或三层 开发模式[/b]
- 如何将金额后的小数点及00显示出来,并写到文件?
- 深圳福田)我公司因需要再2名程序员,条件如下:
- 请教高手关于icmp的报文代码如何写?
- 大家帮我看看啊,我下载了一个Easysoft的Interbase ODBC驱动,不过它不支持中文,好不容易搞出来的,怎么办...
- 我是学delphi的我想问一下学它有多大的前途,哪位朋友可以告诉我么???
- TTCPClient,TTCPServer中如何传递流
- 有关delphi的调试问题.
- 我是一个菜鸟,DELPHI是如何实现对数据库表的某个字段进行锁定的.请帮帮忙!急!!!
- 怎么样得到其他程序或操作系统下点击鼠标的消息?
- 求简单黑白图形矢量化的算法,讲讲思路也行!!
相应双击事件为节点的imageIndex赋值就是了
先用TreeView1.select取到被选中的节点
如果是将此节点赋1,那么就用item.getparent查找它的父节点,将父节点的也赋1
如果是将此节点副2,那么就用item.getfirstchild查找它的自节点,然后循环将所有自节点副2
这样就应该可以了。
var
i: Integer;
begin
if tv1.Selected = nil then Exit;
tv1.Selected.ImageIndex := (tv1.Selected.ImageIndex + 1) mod 2;
tv1.Selected.SelectedIndex := tv1.Selected.ImageIndex;
if (tv1.Selected.ImageIndex = 0) and (tv1.Selected.Parent <> nil) then
begin
tv1.Selected.Parent.ImageIndex := 0;
tv1.Selected.Parent.SelectedIndex := 0;
end;
if (tv1.Selected.ImageIndex = 1) and (tv1.Selected.HasChildren) then
begin
for i := 0 to tv1.Selected.Count - 1 do
begin
tv1.Selected.Item[i].ImageIndex := 1;
tv1.Selected.Item[i].SelectedIndex := 1;
end;
end;
tv1.Repaint;
tv1.FullExpand;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
tv1.FullExpand;
end;
1。这个程序里有一个treeview和一个imglist控件。
其中就两个图标0和1,分别为勾和叉:0为叉,1为勾。
同时,是与否,也是用0和1表示的,不是用1和2来表示的。
2。至于你说的两个功能均以实现。
3。帖子时间很长了,在这么长时间内,你自己应该能够在相关资料上找到答案的!