WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  CFileDialog &

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   CFileDialog &
Yuriy опубликован 04-01-2002 17:07 MSK   Click Here to See the Profile for Yuriy   Click Here to Email Yuriy  
Доброго времени суток и с давно наступившим!
У меня тут пара вопросов назрело:

1) CFileDialog _dlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, _T("All Files (*.*)|*.*

Yuriy опубликован 04-01-2002 17:13 MSK     Click Here to See the Profile for Yuriy  Click Here to Email Yuriy     
Извиняюсь, но предыдущее сообщение почему-то полностью не добавилось...

1) CFileDialog _dlg(....) - как получить весь список файлов? В памяти смотрю - все есть, лежит через точку, а пытаюсь получить через _dlg.GetPathName() - выдает только каталог...

2) SHBrowseForFolder(....) - как получить полный путь? А то выдает только последний каталог, а все остальные - нет.. 8(( Как достать желаемое?

alexsh опубликован 06-01-2002 21:07 MSK     Click Here to See the Profile for alexsh  Click Here to Email alexsh     
Esli ne izmeniaet pamiat, SHBrowseForFolder vozvrashaet v odnom membere file name i v drugom directory. Vot v directory i est polniy path
Yuriy опубликован 08-01-2002 10:46 MSK     Click Here to See the Profile for Yuriy  Click Here to Email Yuriy     
Там используется структура BROWSEINFO. В lpszDisplayName возвращается только последний каталог. А другой строковый член структуры. - lpszTitle, и в нем уж точно не возвращается путь 8)), а все остальные параметры даже по типам ну никак не подходят. 8(( Просмотр содержимого этой структуры в памяти тоже не дают никаких мыслей... 8((
ADK опубликован 08-01-2002 11:07 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
BROWSEINFO bi;
char foldername[255];
ZeroMemory(&bi,sizeof(bi));
bi.pszDisplayName=foldername;
bi.hwndOwner=hwnd;
bi.lpszTitle="Âûáåðèòå ïàïêó äëÿ óñòàíîâêè:";
bi.ulFlags=BIF_RETURNONLYFSDIRS;
LPITEMIDLIST lpid= SHBrowseForFolder(&bi);
if(!lpid) return FALSE;
SHGetPathFromIDList(lpid,foldername);
SetDlgItemText(hwnd,SELECT_FOLDER_EDIT,foldername);

Это мой старый код, там ещё надо очищать COM - объектик, ну это не обязательно, если прога не висит всё время в памяти.

Yuriy опубликован 08-01-2002 14:10 MSK     Click Here to See the Profile for Yuriy  Click Here to Email Yuriy     
Ок. Спасибо огромное!...
Теперь останется только разгрестись с multiselect'ом в CFileDialog.... 8))

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.