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

Вниз

Вопрос знатокам HTML   Найти похожие ветки 

 
aka   (2011-02-08 10:13) [0]

Вот строю дерево в TreeView

PFile = ^TFile;
TFile = record
 attr: Integer;
 name: WideString;
 fullpath: WideString;
end;

var
 MainF: TMainF;

implementation

{$R *.dfm}

procedure ScanDir(Dir: string; PerNode: TTreeNode);
var
 SearchRec: TSearchRec;
 Node: TTreeNode;
 Files: PFile;
begin
 if Dir <> "" then if Dir[length(Dir)] <> "\" then Dir := Dir + "\";

 if FindFirst(Dir + "*.*", faAnyFile, SearchRec) = 0 then
   repeat
     if (SearchRec.name = ".") or (SearchRec.name = "..") then continue;

     New(Files);
     Files^.attr := SearchRec.attr;
     Files^.name := SearchRec.name;
     Files^.fullpath := Dir + SearchRec.name;

     if (SearchRec.Attr and faDirectory) <> 0 then
     begin
       Node := MainF.TreeView.Items.AddChild(PerNode,SearchRec.name);
       Node.Data := Pointer(Files);
       ScanDir(Dir + SearchRec.name, Node);
     end
     else begin
       Node := MainF.TreeView.Items.AddChild(PerNode,SearchRec.name);
       Node.Data := Pointer(Files);
     end;
     
   until FindNext(SearchRec) <> 0;
 FindClose(SearchRec);
end;

procedure TMainF.Button1Click(Sender: TObject);
begin
ScanDir("Z:", nil);
end;


Как бы его оформить в виде HTML кода меню с выпадающими подменю следующего Level?


 
И. Павел ©   (2011-02-08 10:22) [1]

Вот примерчик: http://habrahabr.ru/blogs/css/55753/
А так есть и другие: http://www.google.ru/#hl=ru&source=hp&biw=1280&bih=812&q=html+%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE&aq=0&aqi=g1&aql=&oq=HTML+%D0%B4%D0%B5%D1%80%D0%B5&fp=b9369cba5b6f7f22


 
aka   (2011-02-08 13:58) [2]

Да с плюсами, как тривью в виде html я сделаю без проблем для это достаточно пробежаться циклом во всем Items и в зависимости от Level двигать правей следующий уровень, они то и расположены в тривью с верху -> вниз в нужном порядке
А вот подобно строке меню как в виндовых окнах с подменю, это конечно нужно подумать как это свормировать(строка меню это Level=0)


 
И. Павел ©   (2011-02-08 14:19) [3]

> Да с плюсами, как тривью в виде html я сделаю без проблем

А чем "с плюсами"  отличается от выпадающего меню? Нажимаете на плюс - выпадает подменю (в первом примере это делает css). Не хотите "плюс" - сделайте ссылкой все строки TreeView. Суть все равно одна. Или же вам нужно что-то другое?


 
aka   (2011-02-09 17:50) [4]

пример
<UL>
<LI> Кpупные гоpода России
<UL>
<LI> Москва
<LI> Санкт-Петеpбуpг
</UL>
<LI> Кpупные гоpода Укpаины
<UL>
<LI> Киев
<LI> Хаpьков
</UL>
</UL>

Не совсем получается из примера, который я писал в вопросе, сформировать рекурсивно список из примера.



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
1-1254853805
Delphir
2009-10-06 22:30
2011.05.22
Internet Explorer Plugin


2-1297715273
Чайник
2011-02-14 23:27
2011.05.22
Настройка Д2010


15-1296849834
Baks
2011-02-04 23:03
2011.05.22
Variants unit в Delphi 5


2-1297426351
cross
2011-02-11 15:12
2011.05.22
процедура с параметром или функция


1-1254906944
Aleks
2009-10-07 13:15
2011.05.22
Как вычислить матем.значение в Edit?