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;
|
|