Pamiętam, że w WinApi jest funkcją otwierająca dialog w poszukiwaniu katalogu, tylko nie pamiętam jak się nazywa i nie moge tego znaleźć !!
0
0
var
bufor : array[0..max_path] of char;
BrowseInfo : _browseinfoA;
IDList : PItemIDList;
Folder : array[0..MAX_PATH] of char;
begin
with BrowseInfo do
begin
hwndOwner := Self.Handle;
pszDisplayName := @bufor;
lpszTitle := PChar('Wybierz folder:');
pidlRoot := PItemIDList(0);
ulFlags := 0;
lpfn := @BrowseCallBack;
end;
IDList := SHBrowseForFolderA(BrowseInfo);
if SHGetPathFromIDListA(IDList, @Folder) then
PathEdit.Text := (Folder);
end;
function BrowseCallback(Handle : HWND; uMSg : integer;
lParam, lpData : LParam) : integer;
STDCALL;
var
buff : array[0..MAX_PATH] of char;
begin
if uMsg = BFFM_INITIALIZED then
begin
StrPCopy(Buff, Form1.PathEdit.Text);
SendMessage(Handle, BFFM_SETSELECTION, integer(True), integer(@buff));
end;
Result := 0;
end;
Ta druga funkcja ustawia poczatkowo taki folder, jaki aktualnie jest wpisany w Edicie. Po wybraniu folderu nowa sciezka ponownie jest zapisywana do PathEdit :)
0
thx
O tej pierwszej metodzie przeczytalem na MSDN'ie, o drugiej nie wiedzałem.
Tylko nie wiem dlaczego ubzdurzyło mi sie, że w WinAPI jest do tego jedna uproszczona funkcja i dlatego nie mogłem jej znależć :)
0
Big THX !!!! (Ikari)
Na bank sie przyda!! [cya]