Entwickler-Ecke

Windows API - openDialog zu Verzeichnissen??


csigg - Mi 27.04.05 10:44
Titel: openDialog zu Verzeichnissen??
kann ich den openDialog auf so konfigurieren dass ich nur verzeichnisse und keine Dateien darin auswählen kann??


Moderiert von user profile iconTino: Topic aus VCL (Visual Component Library) verschoben am Mi 27.04.2005 um 15:10


Delete - Mi 27.04.05 10:53

Wie wäre es denn stattdessen mit einem Dialog, der für Verzeichnisse, Netzwerkressourcen u.ä. gedacht ist? Gleich einsatzfertig als Klasse TFolderBrowser [http://www.delphi-forum.de/topic_TFolderBrowser+SHBrowseForFolder_27628.html]. Das dürfte doch sinnvoller sein. :)


jaenicke - Mi 27.04.05 10:53

Würd ich nicht empfehlen. Es gibt von der Windows Shell SHBrowseForFolder aus der Unit ShlObj (hoffe das stimmt so...). Das sieht sehr viel beser aus.

Am besten nimmst du aus der JEDI-Sammlung den entsprechenden Dialog. Dort gibts auch das, was du vorhast, wenn ich mich recht entsinne...

//edit:
Zu langsam...

@MathiasSimmack: Kannte ich noch gar nicht...

Das ist natürlich besser als dafür JEDI zu installieren, auch wenn da noch sehr viel sinnvolles drin ist...


csigg - Mi 27.04.05 11:06

Das TFolder.... muss ich aber auch erst installieren, oder??


Delete - Mi 27.04.05 11:10

user profile iconjaenicke hat folgendes geschrieben:
//edit:
Zu langsam...

Mal etwas Lektüre [http://www.delphipraxis.net/post357766.html&highlight=Mist+war+schon+wieder+einer+schneller#357766]; soll heißen: spar´s dir. Jeder Beitrag kann wichtig sein. Wer der erste ist, ist doch unwichtig. ;)


@csigg: Nein, einfach die Unit aus dem Browser kopieren (so wie sie da ist), ins eigene Projekt einbinden und wie im Beispiel gezeigt aufrufen. Ich werde im Laufe des Tages wohl am besten mal die Unit anhängen und diesen ellenlangen Quellcode rauswerfen. :gruebel: Ja, das klingt wie eine gute Idee.


bombardir - Mi 27.04.05 11:54

nutze Funktion SelectDirectory aus dem Unit FileCtrl


csigg - Mi 27.04.05 11:56

was hab ich falsch gemacht wenn mein Compiler jetzt meldet:
undefinierter Bezeichner fb, hwndDlg?????


Delete - Mi 27.04.05 12:07

"fb", na ja, deklarieren musst das schon:

Delphi-Quelltext
1:
2:
var
  fb : TFolderBrowser;


"hwndDlg", nimm einfach "self.Handle" stattdessen.


csigg - Mi 27.04.05 12:20

uuppsss....... ok, überredet, mit geht es einfach besser *g*

danke, hat Wunderbar geklappt.


jaenicke - Mi 27.04.05 18:00

user profile iconMathiasSimmack hat folgendes geschrieben:
user profile iconjaenicke hat folgendes geschrieben:
//edit:
Zu langsam...

Mal etwas Lektüre [http://www.delphipraxis.net/post357766.html&highlight=Mist+war+schon+wieder+einer+schneller#357766]; soll heißen: spar´s dir. Jeder Beitrag kann wichtig sein. Wer der erste ist, ist doch unwichtig.

So meinte ich das "zu langsam" ja gar nicht :roll: , ich wollte damit nur sagen, dass ich das besser finde und gar nicht erst JEDI genannt hätte, wenn ich deinen Beitrag schon gelesen hätte.
Das heißt nicht, dass es mir wichtiger ist, der erste zu sein, als "gute" Beiträge zu schreiben. :wink: