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
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;