Okienko dialogowe "wybór folderu" w WinApi.

0

Witam. Jak stworzyć okienko dialogowe, w którym będę mógł wybrać folder i kliknąć ok. Wygląda ono tak: na górze jest Pulpit, a pod nim moje dokumenty itd., foldery można rozwijać plusikiem obok nazwy. Poniżej jest napis folder: i pole edycyjne, a jeszcze niżej przyciski "Utwórz nowy folder", OK i ANULUJ. Mam nadzieje, że wiecie, o jakie okienko mi chodzi. Podajcie mi jakąś nazwę funkcji WinApi, która tworzy takie okienko abym miał punkt zaczepienia, resztę sam zrobię.

0

Chodzi Ci o funkcję API:

SHBrowseForFolder(..)

(biblioteka ShlObj). Poniżej mój przykład z Delphi (bo już to kiedyś pisałem :) ) ale pokazuje wszystkie stałe i pola. W C/C++ będzie wyglądać podobnie.

function BrowseForFolder(Sender:TForm):string;
var BrowseInfo : TBrowseInfo;
    PIDL : PItemIDList;
    SelectedPath : array[0..MAX_PATH] of Char;
begin
Result := '';
ZeroMemory(@BrowseInfo, SizeOf(BrowseInfo));
BrowseInfo.hwndOwner := Sender.Handle;
BrowseInfo.pszDisplayName := @SelectedPath[0];
BrowseInfo.lpszTitle := 'Wskaż folder do przechowywania skoroszytów:';
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS or BIF_RETURNFSANCESTORS	or BIF_USENEWUI;
PIDL := SHBrowseForFolder(BrowseInfo);
if Assigned(PIDL) and SHGetPathFromIDList(PIDL, SelectedPath) then
  Result := string(SelectedPath);
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1