![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TOpenDialog [D7, WinXP]
K.o.Z © (2004-06-02 18:19:00)TOpenDialog для выбора директорий без VCL на Win32 API.
Как это осуществить?
DVM (2004-06-02 19:10:00) [1]function SelectFolder(Wnd: HWND; Text, Title: PChar; OutPutDir: string; ShowPath: Bool): string;
var
pidlRoot, resPIDL : PITEMIDLIST ;
tbi : TBrowseInfoA;
name, path : Array[0..max_path] of char;
begin
SHGetSpecialFolderLocation(wnd, CSIDL_DRIVES,PidlRoot);
tbi.pidlRoot := PidlRoot;
tbi.lpszTitle := title;
if (text <> nil) or showPath then tbi.ulFlags := BIF_RETURNONLYFSDIRS or BIF_STATUSTEXT
else tbi.ulFlags := BIF_RETURNONLYFSDIRS;
tbi.lpfn:=nil;
tbi.hwndOwner:=wnd;
tbi.pszDisplayName:=name;;
ResPIDL:=SHBrowseForFolder(tbi);
if ResPIDL <> nil then
begin
SHGetPathFromIDList(ResPIDL,path);
Result:=Path;
end
else
Result:='';
end;
WebErr (2004-06-02 18:25:00) [2]OPENFILENAME + WinSDK Help
serge (2004-06-02 18:22:00) [3]SHBrowseForFolder