Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Указать полный путь к файлу из списка файлов


Автор: sysprog 9.8.2007, 14:36
Всем привет.

Давненько не писал на VC++.

Существует задача: есть контрол в который должен попадать полный путь к файлу, и кнопка Browse, по которой открывается дилоговое окно просмотра файловой системы в Винде.

Подскажите, пожалуйста, как это сделать или сориентируйте, где почитать!

Спасибо!!

Автор: sysprog 9.8.2007, 15:32
Проблему решил: CFileDialog....

Автор: marshal_methers 22.8.2007, 17:20
 smile 

Автор: zkv 22.8.2007, 17:24
поиск: CFileDialog
ничего сложного там нет вообще, чтобы примеры приводить...

Автор: sysprog 23.8.2007, 11:17
Цитата(marshal_methers @ 22.8.2007,  17:20)
smile

Вот примерчег для CFileDialog

    CFileDialog fDlg(FALSE);
    fDlg.m_ofn.lpstrFile = (LPWSTR) _T("ddd.txt");
    fDlg.m_ofn.lpstrInitialDir = (LPWSTR) _T("e:\\Patth\\");
    fDlg.m_ofn.lpstrTitle = (LPWSTR) _T("Выберите каталог для установки");
    fDlg.m_ofn.Flags = fDlg.m_ofn.Flags | OFN_NOVALIDATE | OFN_NOREADONLYRETURN;
    fDlg.m_ofn.FlagsEx = OFN_EX_NOPLACESBAR;
    fDlg.m_ofn.lpstrFilter = _T("Files\0*.*\0\0");
    fDlg.DoModal();

А вот для OpenDialog

    WCHAR ExtractDir[256];
    WCHAR MyDialogTitle[] = _T("Укажите путь установки");
    BROWSEINFO MyBROWSEINFO;
    memset(&MyBROWSEINFO, 0, sizeof(MyBROWSEINFO));
    MyBROWSEINFO.pszDisplayName = ExtractDir;
    MyBROWSEINFO.lpszTitle = MyDialogTitle;
    MyBROWSEINFO.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;
    LPITEMIDLIST MyITEMIDLIST;
    MyITEMIDLIST = SHBrowseForFolder(&MyBROWSEINFO);

    if(SHGetPathFromIDList(MyITEMIDLIST, ExtractDir)) {
        installPath.Format(_T("%s"), ExtractDir);
        editInstallPath.SetWindowTextW(installPath);
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)