![]() |
SHBrowseForFolder und Pfadangabe
Hallo zusammen,
habe das Problem, dass ich bei einem Auswahldialog die Selektion auf einen bestimmten Ordner stellen möchte.
Delphi-Quellcode:
Hat jemand eine idee???
function OpenFolder(Root: Integer; const Caption: string): string;
var bi: TBrowseInfo; lpBuffer: PChar; pidlPrograms, pidlBrowse: PItemIDList; begin if (not SUCCEEDED(SHGetSpecialFolderLocation(GetActiveWindow, Root, pidlPrograms))) then exit; lpBuffer := StrAlloc(MAX_PATH); bi.hwndOwner := GetActiveWindow; bi.pidlRoot := pidlPrograms; bi.pszDisplayName := lpBuffer; bi.lpszTitle := PChar(Caption); bi.ulFlags := BIF_RETURNONLYFSDIRS; bi.lpfn := @BrowseCallbackProc; bi.lParam := 0; pidlBrowse := SHBrowseForFolder(bi); if (pidlBrowse <> nil) then if SHGetPathFromIDList(pidlBrowse, lpBuffer) then Result := lpBuffer; StrDispose(lpBuffer); end; Danke |
Re: SHBrowseForFolder und Pfadangabe
Hab es selbst herausgefunden!
Wen´s interessiert: SendMessage(BrowseHandle,BFFM_SETSELECTION, Ord(True), Integer(PChar(sPath))); |
Re: SHBrowseForFolder und Pfadangabe
Hallo,
bitte poste doch nocheinmal den ganzen Code (alles was man zum Verständnis des Problems braucht). Mich interessiert vor allem die Uses Zeile. Wie hast du die Lösung hinbekommen? Wenn man schon fragt, dann gebietet es der Anstand, dass man den ganzen Code ins Forum stellt. Nicht jeder ist so helle, dass er deine Codeschnipsel versteht. Rainer |
Re: SHBrowseForFolder und Pfadangabe
Zitat:
|
Re: SHBrowseForFolder und Pfadangabe
wenn ich shlobj einbinde funktioniert es.
jedoch bin ich noch nicht dahintergekommen, wie die BrowseCallbackProc aussehen muss.. Denn wenn ich die verwenden will, kommt immer eine Zugriffsverletzung. Wie sieht die bei dir aus? //edit: habs gefunden, du beziehst dich auf diesen Artikel (nur das man noch "or BIF_STATUSTEXT" zu den ulFlags hinzufügen muss)... ![]() Gruß Frank |
Re: SHBrowseForFolder und Pfadangabe
Hallo!
Hier gibt es eine FolderBrowser-Klasse, die von mehreren Leuten (u.a. Luckie, MathiasSimmack und mir) erstellt wurde: ![]() Neben einem vorausgewählten Ordner unterstützt die Klasse auch das festlegen der Dialog-Position, das Filtern der angezeigten Dateien (falls Dateien angezeigt werden) und das Übersetzen von ![]() Grüße Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 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-2025 by Thomas Breitkreuz