diff --git a/lcl/comctrls.pp b/lcl/comctrls.pp index 76f859b071..ed98ba70f5 100644 --- a/lcl/comctrls.pp +++ b/lcl/comctrls.pp @@ -3259,6 +3259,7 @@ type constructor Create(AnOwner: TComponent); override; destructor Destroy; override; function AlphaSort: Boolean; + procedure ClearSelection(KeepPrimary: Boolean = false); virtual; procedure ConsistencyCheck; function CustomSort(SortProc: TTreeNodeCompare): Boolean; function DefaultTreeViewSort(Node1, Node2: TTreeNode): Integer; diff --git a/lcl/include/treeview.inc b/lcl/include/treeview.inc index 286892ca55..67b052f125 100644 --- a/lcl/include/treeview.inc +++ b/lcl/include/treeview.inc @@ -5483,6 +5483,14 @@ begin Include(FStates,tvsCanvasChanged); end; +procedure TCustomTreeView.ClearSelection(KeepPrimary: Boolean); +begin + if tvoAllowMultiSelect in FOptions then + Items.ClearMultiSelection(not KeepPrimary) + else + if not KeepPrimary then Selected := nil; +end; + function TCustomTreeView.IsCustomDrawn(Target: TCustomDrawTarget; Stage: TCustomDrawStage): Boolean; begin