So ungefähr:
Delphi-Quellcode:
uses ActiveX;
const
BIF_NEWDIALOGSTYLE = $0040;
function ChooseFolder(
const Title:
string):
string;
var
Path:
array [0..MAX_PATH]
of char;
pidl: PItemIDList;
bi: TBrowseInfo;
begin
result := '
';
OleInitialize(
nil);
with bi
do
begin
hwndOwner :=
Handle;
pidlRoot :=
nil;
pszDisplayName := Path;
lpszTitle := PChar(Title);
ulFlags := BIF_RETURNONLYFSDIRS
or BIF_NEWDIALOGSTYLE;
lpfn :=
nil;
lParam := 0;
end;
pidl := ShBrowseForFolder(bi);
if (pidl <>
nil)
and (SHGetPathFromIDList(pidl, path))
then
result := path;
OleUninitialize;
end;
//Aufgerufen wird dat dann mit:
procedure TMainForm.btnOpenPathClick(Sender: TObject);
var
dir:
String;
begin
dir := ChooseFolder('
Verzeichnis zum Speichern auswählen:');
//Hier dann dir auswerten ne
end;
Das ist dann der normale Ordner öffnen Dialog jedoch erweitert mit "Neuer Ordner" (durch BIF_NEWDIALOGSTYLE = $0040; ) den Dialog findet man mittlerweile häufiger als den normalen Ordner Öffnen Dialog
mfg das phlux