Dateisystem wie im Explorer darstellen
-
Schau mal zu codeproject/codeguru, da es zuviel ist, den Code hier zu posten!
-
DA hab ich schon geschaut, aber nix gefunden, kannst du mir vieleich nen Link schicken?? Wäre echt cool.
-
Nun,
lege ein CImageList an, befülle die ImageList; lege eine CTreeCtrl an; bestimme eine Membervar dafür;lies Festplatte aus; für jedes gefundene Element machst du ein InsertItem HTREEITEM item = m_tree.InsertItem("Text",n1,n2,parentitem);n1 steht für das Bild aus der ImageList welches angezeigt werden soll wenn tree nicht aufgeklappt und n2 das Bild ais der Imagelist wenn der Tree ausgeklappt ist. parentitem gibt die Position an wo die das teil eingefügt haben möchtest. Bei jedem insertItem bekommst du nämlich einen HANDLE zurück dieser Handle markiert eine Position;
also:
HTREEITEM item1 = m_tree.InsertItem("Text1",n1,n2,);
HTREEITEM item2 = m_tree.InsertItem("Text2",n1,n2,parentitem);
HTREEITEM item3 = m_tree.InsertItem("Text3",n1,n2,parentitem);
HTREEITEM item4 = m_tree.InsertItem("Untertext",n1,n2,item2);damit hast du einen Unterpunkt unter Text2. Unter allen anderen nicht.
Ich hoffe es hilft.
-
ich meinte....
HTREEITEM item1 = m_tree.InsertItem("Text1",n1,n2);
HTREEITEM item2 = m_tree.InsertItem("Text2",n1,n2);
HTREEITEM item3 = m_tree.InsertItem("Text3",n1,n2);
HTREEITEM item4 = m_tree.InsertItem("Untertext",n1,n2,item2);
-
@<erbse>
Also, ich glaub als, du bist ein bischen schwer von Begriff*g*. Ich weiß, wie ich mit den Steuerelementen umgehe. Das Problem ist die Verzeichnisse und Datein zu bekommen.
-
tja mag sein... ich konnte mir halt nicht vorstellen das du nicht weisst wie man Files findet *hehe*
void CSearchMess::Search(CString path) { CFileFind ff; int ret =0; CString file; CString temp; ret = ff.FindFile(path); while(ret) { ret = ff.FindNextFile(); file= ff.GetFileName(); //das ist ein Dir if ( ff.IsDirectory() && !ff.IsDots()) { temp.Format("%s\\*%s",ff.GetFilePath(),path.Right(path.GetLength()-path.Find("."))); Search(temp); } // Das ist ein File if (!ff.IsDirectory()) { ScanFile(ff.GetFilePath(),typ); } } }
Aber eigentlich hast du recht, ich bin schwer von Begriff
-
Hey, du kapierst echt garnichts, oder überliest die Hälfte von dem was ich schreibe. Wie ich nach Dateien such weiß ich auch. Ich such ja gerade ne ander Weise wie ich an das Dateisystem rankomm, ohne expliziet rekusrsiv zu suchen. Jetzt verstanden????!!!!!
-
Ja, jetzt hab ichs verstanden.
Ich werde mich in Zukunft hüten noch mal was zu posten
-
War ja nicht böse gemeint, sorry wenn es so rüber kam. Ich find es ja gut, dass man sich gegenseitig hilft. Also ruhig weiter posten.
-
Mit Windows Shell! Genauer Ishellfolder
Mit SHGetDesktopFolder( Ishellfolder **folder) bekommst du einen Zeiger auf eine isf Instance.
Dies ist zwar der einzige richtig gute Weg um eine Explorer, wie im BS auch vorhanden, nachzuprogrammieren, aber auch der schwierigste.Deswegen am besten wie ReneG schon erwähnt unter CodeProject.Com nachschauen, da giebt es ein komplett fertiges Programm, mit source code, zum downloaden.
www.codeproject.com/shell/seashell.asp
[ Dieser Beitrag wurde am 11.12.2002 um 16:25 Uhr von Scania V8 editiert. ]
-
@vagabond
2 Klicks auf codeproject, und ich habe ein Beispiel gefunden ... muss man denn hier noch das Surfen und Finden von Informationen auf Internetseiten erläutern?http://www.codeproject.com/treectrl/pathpicker.asp
Nunja, vielleicht sieht das Beispiel nicht 100%ig aus wie im Explorer, aber einen Grossteil kann man doch rausziehen!