TTreeView с возможностью MultiSelect
TSelectableTree - TTreeView с возможностью MultiSelect'а
TSelectableTree - наследник от TCustomTreeView, обладает возможностью множественного выбора ( свойство MultiSelect ).
Соответственно дополнительные методы -
procedure SelectAll;
procedure UnSelectAll;
procedure InvertSelection;
Свойство DefaultPopup = True назначает для дерева PopUp-меню (по правой кнопке мыши) со следующими пунктами:
Отметить все
Снять все пометки
Инверсия выделения
И еще всякие полезные мелочи. Например, очень удобная процедура для обработки каждой ветки дерева:
procedure TraverseTree(TreeView: TCustomTreeView; Node: TTreeNode; ATraverseTreeEvent : TTVTraverseEvent; AInfo : Pointer); var CNode: TTreeNode; begin if Assigned(ATraverseTreeEvent) then begin if Node = nil then CNode := TTreeView(TreeView).Items.GetFirstNode else CNode := Node; repeat ATraverseTreeEvent(CNode, AInfo); CNode := CNode.GetNext; until (CNode = nil) or (not CNode.HasAsParent(Node)); end; end; |
Далее: TTreeView. Проблемы CustomDraw »»