procedure TForm1.TreeRoleLimit_CMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 var
      I : Integer;
begin    for I := 0 to TreeRoleLimit_C.Items.Count - 1 do
      begin
            if TreeRoleLimit_C.Items[I].Selected = true then
                  begin                                TreeRoleLimit_C.Items[I].ImageIndex :=1 ;
                  end ;      end;end;不知道怎么目录树中被点中的目录的图标没有改,但点其他的上一个就改了,是不是少了个类似刷新的,给点代码吧!

解决方案 »

  1.   

    将这段代码放入 onchange事件中试一试
      

  2.   

    你这段代码是想让树结点的图标在"选择"和"非选择"状态下显示不同的图标吧。在TTreeNode类中有两个属性,ImageIndex和SelectedIndex,前一个代码在非选择状态下的图标,后一个代表在选择状态下的图标。因此你只要给树的每一个结点的SelectedIndex属性赋上值就行了。