Entwickler-Ecke
Dateizugriff - Mehrere Dateien und Ordner auswählen
Flamefire - So 06.06.10 22:21
Titel: Mehrere Dateien und Ordner auswählen
Für eine Art Archiver/Packer brauche ich einen Import von Dateien oder kompletten Ordnern.
Der user soll also per Dateiauswahldialog mehrere Dateien UND Ordner gleichzeitig auswählen können.
Wie geht das?
Kennen tu ich nur den Opendialog für Dateien und FolderBrowser für Ordner. Aber nix mit beiden zusammen.
jaenicke - So 06.06.10 22:25
Das geht vielleicht mit
SHBrowseForFolder [
http://msdn.microsoft.com/en-us/library/bb762115.aspx] und dem Flag BIF_BROWSEINCLUDEFILES, entsprechende Wrapper gibt es auch in der Library hier.
// EDIT:
Aber mir fällt ein, dass mehrere gleichzeitig da wohl nicht geht.
Ansonsten ist das sinnvollste selbst basteln oder fertige Shell-Komponenten verwenden.
Flamefire - So 06.06.10 22:30
fertig klingt gut. nur was? ^^
Flamefire - Mo 07.06.10 00:27
Shelllistview und -treeview sieht grad super aus
Beides zusammen auf ein Form und ich hab nen schicken Dialog. Gibts die nicht auch von Delphi offiziell? Hab iwie nur ne Variante von Alphaskins. Finde die sonst ne (D2009)
Aber Problem: Wie kann ich verbieten, dass z.b. der Papierkorb oder der Arbeitsplatz ausgewählt werden kann?
Angezeigt werden darf er ja, und angeklickt auch (zum navigieren) aber sowas darf dann nicht übernommen werden. Wie das?
jaenicke - Mo 07.06.10 00:30
Flamefire hat folgendes geschrieben : |
Gibts die nicht auch von Delphi offiziell? |
Die ShellControls liegen in den Demos, sollten aber auch nur als solche verstanden werden. Die sind extrem langsam und haben einige Bugs. Deshalb nimm lieber Fremdkomponenten. ;-)
Flamefire hat folgendes geschrieben : |
Aber Problem: Wie kann ich verbieten, dass z.b. der Papierkorb oder der Arbeitsplatz ausgewählt werden kann? |
Wie das bei diesen Komponenten geht weiß ich auch nicht auswendig, da bleibt nur anschauen. :D
Flamefire - Mo 07.06.10 22:49
Hm. Was anderes was passt finde ich nicht. Und die Orthos Dinger gehn bei D2009 nicht (Unicode...)
Weitere Vorschläge? ^^
Edit: Hmm...So schlecht ist das ShellListView gar nicht. Hab auch was gefunden, um die SpezialOrdner am Ende rauszuhauen.
Wo ist denn bei dem Ding das Problem, warum man es nicht verwenden sollte?
BTW: Mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TfrmFiles.lvFilesChange(Sender: TObject; Item: TListItem; Change: TItemChange); begin if(Item<>nil) and (Change=ctState) then begin if(Item.Selected) and not (lvFiles.Folders[Item.Index].IsFileFolder or lvFiles.Folders[Item.Index].IsFile()) then Item.Selected:=false; end; end; |
kann ich verhindern, dass die SpezialOrdner ausgewählt werden. Das problem: Dann kann ich nicht mehr da rein springen...
Da trotzdem eine Markierung da ist (gestrichelter Rahmen um Dateinamen) müsste man das doch trotzdem manuell machen können. Nur wie komme ich an dieses halbausgewählte Element?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!