Suche rechte Seite des Explorers
-
hallo,
mit einem CTreeCtrl hab ich bereits die Linke seite des Explorers in meinem Programm implementieren können. Nun bräuchte ich ein ListCtrl oder etwas ähnliches mit dem ich die rechte seite des Explorers darstellen könnte ... wichtig wäre dabei, dass ich dort dann auch mehrere elemente per strg und shift-taste markieren kann... halt ganz wie im explorer. die markierten elemente müssten sich natürlich auch alle auslesen lassen können
ich bin mir sicher dass es soetwas schon gibt. Ich hab nur leider nix bei codeproject und co. gefunden
danke schonmal
mfg, TFTS
-
Hast du das ganze als Dialog oder SDI Anwendung gemacht? Schau dir mal die CListView Klasse an.
Wenn du beides in ein SDI Anwendung packen möchtest, musst du mit einem CSplitterWnd arbeiten.
Beim Dialog einfach ein Listenelement hinzufügen. Du musst dann nur noch den Berichtsstyle einstellen, somit hast du dann diese Liste wie der Explorer auch!http://members.tripod.com/digitaldawn/section18/section18.html
-
hallo,
danke für deine antwort!ich möchte es in eine dialogbasierende anwendung implementieren. Ich dachte eigentlich, dass es soetwas für datei bzw. ordner strukturen schon fertig als abgeleitete klasse (oder soetwas ähnliches) gibt. also dass ich nur noch einen pfad hineingeben muss und mir das listenelement dann den inhalt des ordners anzeigt und mir die möglichkeit gibt mehrere elemente anzuklicken ... bzw. deren pfad zu bekommen
mfg, TFTS
PS: im prinzip bräuchte ich soetwas:
http://www.codeproject.com/listctrl/drivebrowser.asp
nur eben für eine dialog basierende anwendung
-
mit der CListBox member funktion Dir kann man sich den inhalt eines ordners anzeigen lassen ... aber wie schaffe ich es, dass ich mehrere elemente markieren kann?
mfg, TFTS
-
so für alle die vor dem selben problem stehen...
a) eine listbox erstellen ... in den eigenschaften der listbox Selection "multiple" auswählen
b) dieser listbox eine membervariable (control) vom typ CListBox hinzufügen
c) button erstellen ... on click funktion hinzufügenvoid CFilebrowserDlg::OnButton1() { chdir("C:\\"); m_ctrlListBox.Dir(NULL,"*.*"); }
d) weiteren button erstellen
void CFilebrowserDlg::OnButton2() { int i; i = m_ctrlListBox.GetSelCount(); int* pIndex = new int[i]; m_ctrlListBox.GetSelItems(i,pIndex); //hier pIndex verwenden delete pIndex; //Speicher freigeben }
pIndex ist dann ein int vektor der die indexe der markierten elemente enthält
mfg, TFTS