请问我想在鼠标点击treeview上某个item时,将该item前的imageindex换掉,若是6则换成7,若是7则换成6,请问如何实现?
我才用以下方法换不过来,问题在哪里:
if Treeview3.Selected.ImageIndex=6 then
   Treeview3.Selected.ImageIndex:=7;

解决方案 »

  1.   

    If TreeView1.items.Item[0].ImageIndex=6 Then
     Begin
        TreeView1.items.Item[0].ImageIndex:=7;
          TreeView1.Refresh;
      End
      Else
      Begin
      TreeView1.items.Item[0].ImageIndex:=6;
          TreeView1.Refresh;
      End;
      

  2.   

    procedure TForm1.TreeView1Click(Sender: TObject);
     var TN: ttreenode;
    begin
      TN := treeview1.Selected;
      if TN.ImageIndex = 1 then  begin
         TN.SelectedIndex := 0;
         TN.ImageIndex := 0;
         end
      else  begin
      TN.Selectedindex := 1;
      tn.ImageIndex := 1;
      end;
    end;这样就可以;郁闷;不知道delphi自己是怎么处理的;你先将她的selectedindex设置后就没有问题;可以及时刷新;
      

  3.   

    我遇到一个奇怪的问题就是,我选择treeview上某个item,而想改变另一个item的imageindex时,用上面的方法是可以的,但如果我想选择treeview上某个item,就改变该item的imageindex时,就不行了,每次都是改变我上一次选择的item的imageindex,这是为什么。大家帮忙试一试。
      

  4.   

    treeview 里有个选坐标的你试一下你判断一下鼠标的位置就可以了
      

  5.   

    47522341(睡到8:30) ,我试了你的代码,运行时if TN.ImageIndex = 1 then  begin
    这句报错,你没遇到吗?怎么解决啊?
      

  6.   

    TO  Brune(敏行)  我调试通过了;没什么问题;
    你看看是不是前一句代码出错;