Thema: Delphi Frage zum OpenDialog

Einzelnen Beitrag anzeigen

Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#3

Re: Frage zum OpenDialog

  Alt 23. Nov 2003, 19:33
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
Christian "phlux" Arndt
  Mit Zitat antworten Zitat