T
tongki_8
Unregistered / Unconfirmed
GUEST, unregistred user!
对treeview使用右键菜单的时候,使焦点也落在点击的节点上,并对该节点进行删除操作。
想用TreeView的GetNodeAt获得鼠标位置是否有节点,若有,设置TreeView的Selected就可以了,若无则弹出的上浮菜单项中的“删除”不可用。
以下代码为什么焦点还是不会改变??
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var dd:TTreeNode;
begin
if button= mbRight then
if treeView1.GetNodeAt(x,y)<>nil then
begin
ShowMessage('yyyyyyyyyyyy');
dd:=TreeView1.GetNodeAt(x,y);
dd:=TreeView1.Selected;
end
else
ShowMessage('nnnnnnnnnnnn');
end;
想用TreeView的GetNodeAt获得鼠标位置是否有节点,若有,设置TreeView的Selected就可以了,若无则弹出的上浮菜单项中的“删除”不可用。
以下代码为什么焦点还是不会改变??
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var dd:TTreeNode;
begin
if button= mbRight then
if treeView1.GetNodeAt(x,y)<>nil then
begin
ShowMessage('yyyyyyyyyyyy');
dd:=TreeView1.GetNodeAt(x,y);
dd:=TreeView1.Selected;
end
else
ShowMessage('nnnnnnnnnnnn');
end;