解决: procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var TempNode: TTreeNode; begin if Button = mbRight then begin TempNode := treeView1.GetNodeAt(X,y); if TempNode <> nil then begin tempNode.Selected := true; // tempNode.Focused := true; end; end;
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ssRight in Shift then if TreeView1.GetNodeAt(X, Y)<>nil then TreeView1.GetNodeAt(X, Y).Selected:=True; end;
procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
TempNode: TTreeNode;
begin
if Button = mbRight then
begin
TempNode := treeView1.GetNodeAt(X,y);
if TempNode <> nil then
begin
tempNode.Selected := true;
// tempNode.Focused := true;
end;
end;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ssRight in Shift then
if TreeView1.GetNodeAt(X, Y)<>nil then TreeView1.GetNodeAt(X, Y).Selected:=True;
end;
if Button= mbRight then 用这条判断语句也是正确的