Решил немного позаниматься украшательством – добавить значки папок и файлов, получилось вот что…
Пробовал разными способами, но получилось вот так
Добавляем ImageList
Далее, пишем такой код в событии CustomDrawItem
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
procedure TMainForm.TreeView1CustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean); begin if (Node.HasChildren) and Node.Expanded then begin Node.ImageIndex:=2; Node.SelectedIndex:=2 end; if (Node.HasChildren) and not Node.Expanded then begin Node.ImageIndex:=1; Node.SelectedIndex:=1; end; if not Node.HasChildren then Node.ImageIndex:=0; end; |
В принципе, ничего сложного, но какое-то время повозился. Выглядит профессионально, на мой взгляд. Тут можно и радиобоксы и что угодно таким образом цеплять.