मैं रूप में अच्छी तरह एक साधारण 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" अपरिभाषित है
मैं दृश्य स्टूडियो 2010, Win7
openDlgPtr कहां है:
मैं इस समस्या का एक बहुत प्रभावी और सरल समाधान होने के लिए इस CFileBrowser की तरह वर्ग पाया? मैं कोड स्निपेट में नहीं देख सकता। "FOS_PICKFOLDERS" को ShObjIdl.h में परिभाषित किया गया है, सुनिश्चित करें कि आपने इसमें – stamhaney
शामिल किया है, मैं openDlgPtr के बजाय उस माफी openDlg को ठीक कर दूंगा। मैंने # शामिल "ShObjIdl.h" को अभी भी पहचाना नहीं है –
आप लक्ष्य विंडो संस्करण (_WIN32_WINNT) मैक्रो ठीक से सेट नहीं कर रहे हैं। IFileOpenDialog केवल 0x600 और ऊपर में उपलब्ध है। –