怎么创建鼠标点击treeview中结点图标事件(50分)

  • 主题发起人 主题发起人 绯红之王
  • 开始时间 开始时间

绯红之王

Unregistered / Unconfirmed
GUEST, unregistred user!
我找到的代码是GetCursorPos(P);
//得到光标的位置
P := TreeView1.ScreenToClient(P);
if (htOnStateIcon in TreeView1.GetHitTestInfoAt(P.X,P.Y)) then


但是无法使用
这是怎么回事
 
不用这样的~~里面有提供的事件啊~
onExpand 就是这个节点展开的事件~还有其他的~
如果根据鼠标的位置来出来就太麻烦了~因为其一个节点的展开和关闭 就会影响其他的节点位置~
 
我是用onmousemove同onmousedown结合一起用的
procedure TA_WhereClaust.TreeMouseMove(Sender: TObject;
Shift: TShiftState;
X, Y: Integer);
begin

ClickNode:=Tree.GetNodeAt(X,Y);
if (ClickNode<>Nil) then
// 保存原节点的Checked值
NodeChecked:=GetNodeChecked(ClickNode);
end;

然后在onmousedown那检测ClickNode是否为nil,如果不为nil则ClickNode就是你点击的节点了
 
后退
顶部