Ребята, как используя MFC или API вызвать дилог выбора директории. Примечание: у меня нет MSDN.
Здравствуйте, THUNDERBOLT, Вы писали:
THU>Ребята, как используя MFC или API вызвать дилог выбора директории. Примечание: у меня нет MSDN.
Например, так:
BROWSEINFO bi;
LPITEMIDLIST pidl;
char ach[MAX_PATH]= "";
bi.hwndOwner = AfxGetMainWnd()->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = ach;
bi.lpszTitle = "Укажите путь к файлам..(или все что угодно!)";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);
if (pidl)
{
SHGetPathFromIDList(pidl, ach);
// free..
IMalloc *pm;
SHGetMalloc(&pm);
if(pm)
{
pm->Free(pidl);
pm->Release();
}
}
else
return;
P.S. почему не пользуемся поиском в РСДНе? Тут хде-то должно быть..
... << RSDN@Home 1.0 beta 6a >>
Здравствуйте, THUNDERBOLT, Вы писали:
THU>Ребята, как используя MFC или API вызвать дилог выбора директории. Примечание: у меня нет MSDN.
http://www.rsdn.ru/qna/?ui/getfldr.xml
static char BASED_CODE szFilter[] = "Text Files (*.txt) |*.txt|All Files (*.*)|*.*||";
CFileDialog *dlg = new CFileDialog(true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR, szFilter, NULL );
int res = dlg->DoModal();
...