![]() |
AW: ResCreator
Zitat:
Delphi-Quellcode:
Das kann man so aufrufen:
function SelectDirectory(const Caption: string;
var Directory: string; Options: TSelectDirExtOpts; Parent: TWinControl): Boolean; var dlg: TFileOpenDialog; begin if (Win32MajorVersion >= 6) and UseLatestCommonDialogs then begin dlg := TFileOpenDialog.Create(nil); try dlg.Title := Caption; dlg.FileName := Directory; dlg.Options := dlg.Options + [fdoPickFolders]; // Außerdem TSelectDirExtOpts auf TFileDialogOptions abbilden Result := dlg.Execute(Parent.Handle); if Result then Directory := dlg.FileName; finally dlg.Free; end; end else begin Result := FileCtrl.SelectDirectory(Caption, '', Directory, Options, Parent); end; end;
Delphi-Quellcode:
SelectDirectory('Test', Directory, [sdNewFolder, sdShowEdit, sdNewUI], Self);
|
AW: ResCreator
Vielen dank! Werde es demnächst einbinden :)
|
AW: ResCreator
Und ab welcher Delphiversion läuft das? Ab wann steht TFileOpenDialog und UseLatestCommonDialogs zur Verfügung?
|
AW: ResCreator
Hab's noch ein bisschen überarbeitet:
Delphi-Quellcode:
Vielleicht kann man die beiden Option-Typen noch besser synchronisieren. Aber z.B. scheint sdShowShares nichts mit fdoShareAware zu tun zu haben, ebensowenig sdValidateDir mit fdoNoValidate, und mehr "Pärchen" habe ich auf die Schnelle nicht gefunden.
function SelectDirectory(const Caption: string;
var Directory: string; Options: TFileDialogOptions; Parent: TWinControl): Boolean; var dlg: TFileOpenDialog; begin if (Win32MajorVersion >= 6) and UseLatestCommonDialogs then begin dlg := TFileOpenDialog.Create(nil); try dlg.Title := Caption; dlg.FileName := Directory; dlg.Options := Options + [fdoPickFolders]; Result := dlg.Execute(Parent.Handle); if Result then Directory := dlg.FileName; finally dlg.Free; end; end else begin Result := FileCtrl.SelectDirectory(Caption, '', Directory, [sdNewFolder, sdShowEdit, sdShowShares, sdNewUI], Parent); end; end; procedure TForm1.Button1Click(Sender: TObject); begin UseLatestCommonDialogs := CheckBoxUseLatestCommonDialogs.Checked; if SelectDirectory('Test', Directory, [], Self) then Label1.Caption := Directory; end; Zitat:
Update: Wie zu erwarten lässt es sich mit Turbo Delphi nicht kompilieren. |
AW: ResCreator
Hallo alle zusammen,
habe mich nochmal hingesetzt und die Version überarbeitet. Es sind neue Funktionen hinzugekommen, einiges wurde verbessert, außerdem sollte jetzt auch das Problem mit Windows XP gelöst sein. |
Update (Version 1.3.4.20)
Kleines Update für zwischendurch. Habe noch ein paar kleine Fehler gefunden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz