Mfc 打开文件夹对话框

Mfc 打开文件夹对话框,mfc,openfiledialog,Mfc,Openfiledialog,在MFC中,是否有“打开文件夹”对话框?也就是说,它选择的不是文件名,而是文件夹名?理想情况下,我希望它是VisualStudio在导航“项目位置”(创建新项目时)时的工作方式,它看起来非常像普通的文件对话框。但是如果前者不存在,我可以使用其中一种接口。此代码将为您提供一个打开的文件夹对话框(这是从web上的某个地方获取的,但我真的不知道在哪里) 您还必须实现此回调函数: TCHAR szInitialDir[_MAX_PATH]; // Set the initial path of the

在MFC中,是否有“打开文件夹”对话框?也就是说,它选择的不是文件名,而是文件夹名?理想情况下,我希望它是VisualStudio在导航“项目位置”(创建新项目时)时的工作方式,它看起来非常像普通的文件对话框。但是如果前者不存在,我可以使用其中一种接口。

此代码将为您提供一个打开的文件夹对话框(这是从web上的某个地方获取的,但我真的不知道在哪里)

您还必须实现此回调函数:

TCHAR szInitialDir[_MAX_PATH];

// Set the initial path of the folder browser
int CALLBACK BrowseCallbackProc(HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
    // Look for BFFM_INITIALIZED
    if (uMsg == BFFM_INITIALIZED)
    {
        SendMessage(hWnd, BFFM_SETSELECTION, TRUE, (LPARAM)szInitialDir);
    }
    return 0;
}

这段代码将为您提供一个打开文件夹对话框(这是从web上的某个地方获取的,但我真的不知道在哪里)

您还必须实现此回调函数:

TCHAR szInitialDir[_MAX_PATH];

// Set the initial path of the folder browser
int CALLBACK BrowseCallbackProc(HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
    // Look for BFFM_INITIALIZED
    if (uMsg == BFFM_INITIALIZED)
    {
        SendMessage(hWnd, BFFM_SETSELECTION, TRUE, (LPARAM)szInitialDir);
    }
    return 0;
}

see:see:我更喜欢BROWSEINFO bi={0},而不是memset;这不完全是我想要的,但这是我必须使用的-看起来不是没有太多工作就存在的替代方案;这不完全是我想要的,但这是我必须使用的——看起来没有太多工作的替代品。