
31.08.2009, 10:26
|
 |
Активный
|
|
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
|
|
Вот так вроде работает.
Код:
Uses ShlObj;
procedure CallBack(wnd: hWnd; uMsg: UINT; lParam, lpData: LParam) stdcall;
begin
SendMessage(wnd, BFFM_ENABLEOK, 0, 1);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
bi: TBrowseInfo;
S: PChar;
PIDL, ResPIDL: PItemIDList;
begin
SHGetSpecialFolderLocation(Form1.Handle, CSIDL_DESKTOP, PIDL);
S := StrAlloc(128);
bi.hwndOwner := Form1.Handle;
bi.pszDisplayName := S;
bi.lpszTitle := 'Выбор прапки';
bi.pidlRoot := PIDL;
bi.lpfn := addr(CallBack);
ResPidl := SHBrowseForFolder(BI);
SHGetPathFromIDList(ResPidl, S);
Form1.Caption := S;
end;
Admin: Не забываем про теги! При рецедиве - бан!
|