Главная страница
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.48 MB
Время: 0.007 c
2-1297184901
Студент
2011-02-08 20:08
2011.05.22
Пытался сравнить переменную с функцией изменяющей её значение :(


15-1297253986
Доменик
2011-02-09 15:19
2011.05.22
Web разработка


15-1296656605
Shirson
2011-02-02 17:23
2011.05.22
Absolute Database


6-1229662971
AdMeen
2008-12-19 08:02
2011.05.22
Client-Server+Dynamic IP


6-1237314496
ID_23587A5E
2009-03-17 21:28
2011.05.22
Unit WinInet , проблема с InternetCloseHandle