问题
靠Checked[TTreeNode]一个节点一个节点的判断是否选中效率非常低
事件
property OnClickCheck: TClickCheckEvent;
当选中或者取消一个节点时,触发这个事件
在事件中可以记录选中的节点,然后直接用这个记录来表示选中的节点
举例
procedure TMainForm.CheckBizTreeView1ClickCheck(Sender: TObject; ANode: TTreeNode; Checked: Boolean);
begin
if Checked and (FSelected.IndexOfObject(ANode)<0) then
FSelected.AddObject((ANode.Data as TBizNode).BizURL.URL, ANode);
if not Checked and (FSelected.IndexOfObject(ANode)>=0) then
FSelected.Delete(FSelected.IndexOfObject(ANode));
end;