有一个树形视图,MultiSelect:=true
。
如果选择了所有项目,则无法取消选择或重新选择其他项目。我认为我需要在TForm1.TreeView1Click
中执行TreeView1.Selected.Selected:=false;
。但如何知道单击不是在控件上:项目、按钮等?
视频:http://liga-installer.realservers.info/select.mp4
下面的代码是否正常?
procedure TForm1.TreeView1Click(Sender: TObject);
var
Item: TTreeNode;
begin
Item :=TTreeView(Sender).GetNodeAt(TTreeView(Sender).ScreenToClient(Mouse.CursorPos).X,
TTreeView(Sender).ScreenToClient(Mouse.CursorPos).y);
if (not Assigned(Item)) and (TTreeView(Sender).SelectionCount>0) then TTreeView(Sender).Select(nil, []);
end;
谢谢!