TreeView的问题为什么我点击+号的时候也弹出“基本信息设置”的信息?
怎么只让点击“基本信息设置”才弹出“基本信息设置”的信息?
怎么让点击一个节点后在右边显示新的页面?难道要一直这样写判断(如果节点很多不是要写死人?):
procedure TForm6.TreeView1Click(Sender: TObject);
begin
 if TreeView1.Selected.Text='基本信息设置' then
 ShowMessage('TreeView:'+TreeView1.Selected.Text);
 if TreeView1.Selected.Text='员工信息' then
 ShowMessage('TreeView:'+TreeView1.Selected.Text);
end; 

解决方案 »

  1.   

    OnClick这样判断也行var
      MyHitTest : THitTests;
    begin
      MyHitTest := TreeView1.GetHitTestInfoAt(X,Y);
      if htOnItem in MyHitTest then
      begin
        //your code
      end
    end;
      

  2.   

    X,Y
    是当前鼠标坐标
    Mouse.CursorPos.X Mouse.CursorPos.Y
      

  3.   

    我的TREEVIEW中每个节点都有个图标,我想鼠标点击图标时触发事件,怎整。
      

  4.   

    procedure TForm6.TreeView1Click(Sender: TObject);
    var
      MyHitTest:THitTests;
    begin
        MyHitTest:=TreeView1.GetHitTestInfoAt(Mouse.CursorPos.X,Mouse.CursorPos.Y);
        if htOnItem in MyHitTest then
        begin
          ShowMessage('节点的索引号:'+inttostr(TreeView1.Selected.Index));
        end
    end;这样写点击后怎么没反映?
      

  5.   

    procedure TForm1.TreeView1Click(Sender: TObject);
    var
        MyHitTest:THitTests;
        tp:TPoint;
    begin
        tp:=TreeView1.ScreenToClient(mouse.CursorPos);
        MyHitTest:=TreeView1.GetHitTestInfoAt(tp.X,tp.Y);
        if   htOnItem   in   MyHitTest   then
        begin
            ShowMessage('节点的索引号:'+inttostr(TreeView1.Selected.Index));
        end
    end;
    不好意思
    以前的我在MouseDown里面写的
    Click写的如上图标的的如下
    if   htOnIcon   in   MyHitTest   then