TSelectableTree — TTreeView с возможностью MultiSelect
TSelectableTree — 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; Исходник - selectable tree.zip