AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi SHBrowseForFolder und Pfadangabe
Thema durchsuchen
Ansicht
Themen-Optionen

SHBrowseForFolder und Pfadangabe

Ein Thema von Baeuerle · begonnen am 10. Feb 2006 · letzter Beitrag vom 29. Aug 2006
Antwort Antwort
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#1

SHBrowseForFolder und Pfadangabe

  Alt 10. Feb 2006, 09:07
Hallo zusammen,

habe das Problem, dass ich bei einem Auswahldialog die Selektion auf einen bestimmten Ordner stellen möchte.

Delphi-Quellcode:
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;
Hat jemand eine idee???

Danke
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#2

Re: SHBrowseForFolder und Pfadangabe

  Alt 10. Feb 2006, 11:35
Hab es selbst herausgefunden!

Wen´s interessiert:

SendMessage(BrowseHandle,BFFM_SETSELECTION, Ord(True), Integer(PChar(sPath)));
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#3

Re: SHBrowseForFolder und Pfadangabe

  Alt 28. Aug 2006, 14:39
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
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#4

Re: SHBrowseForFolder und Pfadangabe

  Alt 28. Aug 2006, 15:26
Zitat von runger:
Mich interessiert vor allem die Uses Zeile.
Welche Funktion findet er denn nicht?
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#5

Re: SHBrowseForFolder und Pfadangabe

  Alt 29. Aug 2006, 15:22
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)...
http://www.delphipraxis.net/internal...t.php?p=165971

Gruß Frank
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#6

Re: SHBrowseForFolder und Pfadangabe

  Alt 29. Aug 2006, 17:03
Hallo!

Hier gibt es eine FolderBrowser-Klasse, die von mehreren Leuten (u.a. Luckie, MathiasSimmack und mir) erstellt wurde:
http://www.delphi-forum.de/viewtopic.php?t=27628

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 Advertised ShortCuts.

Grüße
Christian
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz