Подскажите пожалуйста, есть ли стандартный такой диалог или
его нужно писать самому. С открытием файла все понятно — стандартный
элемент Common Dialog (comdlg32.dll) и вызов соотв. API-функции или
CFileDialog в MFC.
Но неужели нет стандартного диалог выбора папки — ведь в большинстве программ
он есть
14.10.04 10:10: Перенесено модератором из 'C/C++' — Odi$$ey
Здравствуйте, Аноним, Вы писали:
А>Подскажите пожалуйста, есть ли стандартный такой диалог или
А>его нужно писать самому. С открытием файла все понятно — стандартный
А>элемент Common Dialog (comdlg32.dll) и вызов соотв. API-функции или
А>CFileDialog в MFC.
А>Но неужели нет стандартного диалог выбора папки — ведь в большинстве программ
А>он есть
BOOL ret = FALSE;
BROWSEINFO bi = { 0 };
LPITEMIDLIST pidl_;
HRESULT res1 = SHGetSpecialFolderLocation(wnd, CSIDL_DRIVES, &pidl_);
bi.pidlRoot = pidl_;
bi.hwndOwner = wnd;
bi.lpszTitle = title;
bi.ulFlags = BIF_NEWDIALOGSTYLE;
LPITEMIDLIST pidl = ::SHBrowseForFolder ( &bi );
if ( pidl != 0 )
{
// get the name of the folder
TCHAR path[MAX_PATH];
if ( SHGetPathFromIDList ( pidl, path ) )
{
_tcsncpy(buffer, path, min(len, MAX_PATH));
ret = TRUE;
}
// free memory used
IMalloc * imalloc = 0;
if ( SUCCEEDED( SHGetMalloc ( &imalloc )) )
{
imalloc->Free ( pidl );
imalloc->Release ( );
}
}
if(pidl_ != 0)
{
IMalloc * imalloc = 0;
if ( SUCCEEDED( SHGetMalloc ( &imalloc )) )
{
imalloc->Free ( pidl_ );
imalloc->Release ( );
}
}
Но вообще-то это в WinApi надо было залдавать мне кажется...
Здравствуйте, Аноним, Вы писали:
А>Подскажите пожалуйста, есть ли стандартный такой диалог или
А>его нужно писать самому. С открытием файла все понятно — стандартный
А>элемент Common Dialog (comdlg32.dll) и вызов соотв. API-функции или
А>CFileDialog в MFC.
А>Но неужели нет стандартного диалог выбора папки — ведь в большинстве программ
А>он есть
TCHAR path[MAX_PATH];
BROWSEINFO bi = { 0 };
bi.lpszTitle = ("TITLE");
LPITEMIDLIST pidl = SHBrowseForFolder ( &bi );
if ( pidl != 0 )
{
SHGetPathFromIDList ( pidl, path );
GetDlgItem (IDC_EDT_FFOLDER)->SetWindowText(path);
}
Здравствуйте, <Аноним>, Вы писали:
А>Но неужели нет стандартного диалог выбора папки — ведь в большинстве программ
А>он есть
http://www.rsdn.ru/article/qna/ui/getfldr.xmlАвтор(ы): Игорь Ткачёв