Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Сохранение данных TreeView   Найти похожие ветки 

 
Steplerr ©   (2006-04-07 17:41) [0]

Такая задача - в результате длительного анализа информация попадает в TreeView. Нужно сохранить данные в файл и загрузить их потом оттуда. Задача осложняется тем что каждая нода в дереве имеет иконку.


 
DesWind ©   (2006-04-07 17:46) [1]

Сохранять как Id | ParentID | Caption  а иконка выбирается в зависимости от данных или случайным образом?


 
Steplerr ©   (2006-04-07 17:56) [2]

Программа сканирует папки и отображает их в TreeView, а файл иконки для папки лежит в ней самой, если её не существует подгружается 0 из ImgList. Делается это примерно так:

ico:=TIcon.Create; ico.Height:=16; ico.Width:=16;
if FileExists( папка + файл.ico)
 then ico.LoadFromFile(p+"\"+pf)
 else MainForm.imglst.GetIcon(0,ico);
MainForm.imglst.AddIcon(ico);
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].ImageIndex:=MainForm.lst.Items.Count;
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].SelectedIndex:=MainForm.lst.Items.Count;

Может не очень удачное решение. Если есть поудачнее решение, то какое?

P.S. ImgList привязан к TreeView (она же lst). В 0 ImgList грузится иконка из файла в корне этих папок.


 
GanibalLector ©   (2006-04-07 23:19) [3]

Используй XML. Очень удобно и просто получится ;)


 
Deka ©   (2006-04-08 10:56) [4]

IMHO переделать процедуры сохранения и загрузки. Можно под свой формат, а можно и под XML ([3]). Сможешь сохоанить все что хочешь и загрузить тоже.


 
GrayFace ©   (2006-04-08 16:18) [5]

> Может не очень удачное решение. Если есть поудачнее решение, то какое?

Например так:
ico:=TIcon.Create; ico.Height:=16; ico.Width:=16;
if FileExists( папка + файл.ico) then
begin
  ico.LoadFromFile(p+"\"+pf);
  MainForm.imglst.AddIcon(ico);
  i:=MainForm.imglst.Items.Count-1;
end else
  i:=0;
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].ImageIndex:=i;
MainForm.lst.Items.Item[MainForm.lst.Items.Count-1].SelectedIndex:=i;



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
15-1145635624
.chap
2006-04-21 20:07
2006.05.21
Компилятор-интерпретатор


11-1126603740
SergeyV
2005-09-13 13:29
2006.05.21
ListView,отрисовка items и subitems...


1-1144993529
Layner
2006-04-14 09:45
2006.05.21
Как включить меню в D7 WebDeploy


9-1129046372
Kerk
2005-10-11 19:59
2006.05.21
[GDI] Полупрозрачная надпись


15-1145547611
Mozgan
2006-04-20 19:40
2006.05.21
Как обработать событие OnClick???