Делаю свой компонент DBTreeExplorer, чтобы использовать его в дальнейшем в других проектах. Сейчас на стадии доработки дерева. Выглядит всё это так…
Глюк заключался в том, что при нажатии или смене узла через клавиши, выделенная иконка начинала отображаться некорректно. Решение следующее. Обработать событие OnChange для TreeView
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
procedure TPSDBTreeExplorerMainFrame.TreeViewChange(Sender: TObject; Node: TTreeNode); begin if Node=nil then Exit; if ModelController.CommonMethods.IsFolderByID( Integer(Node.data^) ) then begin Node.ImageIndex:=1; Node.OverlayIndex:=1; Node.SelectedIndex:=1; end else begin Node.ImageIndex:=0; Node.OverlayIndex:=0; Node.SelectedIndex:=0; end; end; |