Hi Martin,
na ja … so eigentlich gibt es sowas meines Wissens nicht.
Ich habe mal in meinen alten Sourcen gestoebert, da ich mich erinnern konnte das ich das gleiche Problem auch mal hatte und irgendwie geloest habe. Und ich wurde fuendig!
Allerdings hat es dann etwas gedauert bis ich wieder durchgeblickt habe was ich damals verbrochen hatte (1997), da der Sourcecode so super kommentiert ist.
Also, ich habe ein Klasse von CFileDialog abgeleitet.
Im Konstruktor die OpenFlags auf
m_ofn.Flags &= ~OFN_EXPLORER; // das heist OLDSTYLE-OpenDialog(wie Win3.1)
gesetzt.
Im OnInit meiner Klasse habe ich dann alle Steuerelemente des Dialog, die mit dem Dateinamen, Dateiauswahl etc. zu tun haben ausgeblendet.
Die Steuerelemente die mit den Verzeichnissen zu tun habe auf andere Postionen gerueckt, einen eigenen Schliessen-Knopf als OK-Knopf eingebaut und die Dialoggroesse angepasst.
Dann wurde die OnLBSelChangedNotify Methode ueberlagert
sobald ein Verzeichnis ausgewaehlt wurde, wurde der Verzeichnisname in das EDIT_Control , das eigentlich fuer den Dateinamen vorgesehen ist uebertragen.
Die OnClick-Methode des eigenen OK-Knopfed bewirkt dann beim Beenden das der Verzeichnisname korrekt zurueckgegeben.
Das ganze hat funktioniert und wurde in mehreren Applikationen eingesetzt.
Ich hoffe du kannst dem Ganzen halbwegs folgen, da es doch schon ein etwas wilder „Workaround“ fuer das Problem ist.
Tschau
Peter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]