rt

解决方案 »

  1.   

    不知道是不是这样
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if treeview1.items.count>0 then
      begin
        treeview1.Selected:=treeview1.Items.Item[treeview1.Items.count-1];
        treeview1click(self);
      end;
    end;procedure TForm1.TreeView1Click(Sender: TObject);
    begin
      if treeview1.Selected=nil then exit;
      showmessage(treeview1.Selected.Text);
    end;
      

  2.   

    treeview1.Selected:=treeview1.Items.Item[treeview1.Items.count-1];
    楼上的应该可以
    你看看了!
      

  3.   

    我再说一遍把:
       我用的是Raize的checkTreeView控件,我想用程序自动点击该树的最后一个节点前面
    的checkbox框,楼上的只能点击在最后一个节点的text上,而不是他的checkbox框上。怎么处理,
    多谢!!
      

  4.   

    选中 
    SetNodeChecked(Treeview1.Items[treeview1.Items.count-1],true);
    取消选中
    SetNodeChecked(Treeview1.Items[treeview1.Items.count-1],false);
      

  5.   

    我再说一遍把:
       我用的是Raize的checkTreeView控件,我想用程序自动点击该树的最后一个节点前面
    的checkbox框,楼上的只能点击在最后一个节点的text上,而不是他的checkbox框上。怎么处理,
    多谢!!
      

  6.   

    不好意思呀,忘了給你這個函數了~
    //选中一个节点
    procedure SetNodeChecked(Node :TTreeNode; Checked :Boolean);
    const
      TVIS_CHECKED = $2000;
    var
      TvItem :TTVItem;
    begin
      FillChar(TvItem, SizeOf(TvItem), 0);
      with TvItem do begin
        hItem     := Node.ItemId;
        Mask      := TVIF_STATE;
        StateMask := TVIS_STATEIMAGEMASK;
        if Checked then
          TvItem.State :=TVIS_CHECKED
        else
          TvItem.State :=TVIS_CHECKED shr 1;
        TreeView_SetItem(Node.TreeView.Handle, TvItem);
      end;
    end;
      

  7.   


    //感谢关注!
      但是我要的是实现用鼠标模拟点击checkbox,因为我用的这个checktreeview,如果用
    鼠标点击的话,整个树的check状态会跟着变化!
                 ————
      例如:如果某一个节点如果其所有的子节点被选中的话,他自己也被选中(勾号),
    如果只是部分节点被选中,则阴影显示,我现在要实现的是模拟用鼠标点击一个节点,
    让他的父节点跟着变化,谢谢!(我现在能实现选中子节点,但是其父节点我无法改变其
    选中状态,因此,我想用模拟鼠标点击一下,它的父节点的状态就自动改变了)
      

  8.   

    改变子节点及父节点的状态节
      RzCheckTree1.ChangeNodeCheckState( RzCheckTree1.Items[RzCheckTree1.Items.Count - 1],csChecked);
    即可
      

  9.   

    还是不行,楼上的方法只能实现全部选中。例如:如果A有子节点:B,C,D.如果是只有C被选中,
    则C被勾中,A为阴影表示。  如果用楼上的办法,则A也被勾中。怎么处理?
       那位老大做过类似的权限管理,请赐教,多谢!!
      

  10.   

    我的权限管理用的是标准的TreeView,通过Win32 API函数加上CheckBox 框,权限管理的基本功能都能实现呀。