我試圖創建一個簡單的MFC文件夾瀏覽器,並尋找在MSDN答案,這裏還有: 這是我到目前爲止的代碼:MFC文件夾瀏覽器IFileOpenDialog
void CAddFilterDlg::OnBnClickedAddDll()
{
CFileDialog dlg(TRUE/*bOpenFileDialog*/, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT , NULL, NULL, 0, TRUE/*bVistaStyle*/);
CString folderPath = dlg.GetFolderPath();
IFileOpenDialog * openDlg = dlg.GetIFileOpenDialog();
if (openDlg != NULL)
{
openDlg->SetOptions(FOS_PICKFOLDERS);
openDlg->Release();
}
dlg.DoModal();
}
,我發現了錯誤有:
- 指針不完整的類型是不允許的(這是openDlg)
- 標識符 「FOS_PICKFOLDERS」 未定義
我工作的Visual Studio 2010,win7的
哪裏openDlgPtr?我在代碼片段中看不到。 「FOS_PICKFOLDERS」在ShObjIdl.h定義,請確保您有它包括 – stamhaney
我會解決抱歉openDlg代替openDlgPtr。我加的#include「ShObjIdl.h」,它仍然無法識別 –
您沒有設置目標窗口版本(_WIN32_WINNT)宏正常。 IFileOpenDialog僅在0x600及更高版本中可用。 –