: これはこれまでのところ私のコードです: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するためのものである)
- は不定であり、
私は、Visual Studio 2010に取り組んでいる、私も長い間、このコードを探していたwin7の
です:
私はこの問題に非常に効果的かつ簡単な解決策であることが、このCFileBrowserのようなクラスを見つけましたか?私はコードスニペットで見ることができません。 "FOS_PICKFOLDERS"はShObjIdl.hで定義されています。それには – stamhaneyが含まれていることを確認してください。openDlgPtrではなくopenDlgを修正します。 #include "ShObjIdl.h"がまだ認識されない –
ターゲットウィンドウのバージョン(_WIN32_WINNT)マクロを適切に設定していません。 IFileOpenDialogは、0x600以降でのみ使用できます。 –