Member 13089825 Ответов: 1

Просмотрите и выберите конкретный файл


не могли бы вы помочь мне выбрать файлы из внутренней папки.
когда я попробовал его выбор только имена папок не файлы не список

Что я уже пробовал:

BROWSEINFO   bi;
    ZeroMemory(&bi, sizeof(bi));
    TCHAR   szDisplayName[MAX_PATH] = { 0 };
    bi.hwndOwner = NULL;
    bi.pidlRoot = NULL;
    bi.pszDisplayName = szDisplayName;
    bi.lpszTitle = _T("Please select a file  :");
    bi.ulFlags = BIF_RETURNONLYFSDIRS;
    bi.lParam = NULL;
    bi.iImage = 0;
    LPITEMIDLIST   pidl = SHBrowseForFolder(&bi);
    TCHAR   szPathName[MAX_PATH] = { 0 };
    if (NULL != pidl)
    {
        BOOL bRet = SHGetPathFromIDList(pidl, szPathName);
        if (FALSE == bRet)
            return;
    }


выше показано только имя папки
не могли бы вы пожалуйста, помогите мне здесь

1 Ответов

Рейтинг:
1

Jochen Arndt

В качестве имени функции необходимо отобразить диалоговое окно выбора файла, а не диалог выбора папки SHBrowseForFolder сказать вам.

Windows предоставляет общие диалоговые окна, включая диалоговое окно файла (см. Общие Диалоговые Окна (Windows)[^]). С помощью MFC вы также можете использовать Класс CFileDialog[^] который инкапсулирует общий диалог файлов.