próbuję utworzyć prostą przeglądarkę folderu MFC i poszukać odpowiedzi w MSDN i również tutaj: to jest mój kod do tej pory:MFC przeglądarka folderu 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();
}
błędy Dostaję to:
- wskaźnik niepełnego typu klasy nie może (to jest dla openDlg)
- charakterystyki "FOS_PICKFOLDERS" jest zdefiniowana
Pracuję nad Visual Studio 2010, Win7
Gdzie jest openDlgPtr? Nie widzę w fragmencie kodu. "FOS_PICKFOLDERS" jest zdefiniowany w ShObjIdl.h, upewnij się, że zawiera go – stamhaney
Naprawię to przepraszam openDlg zamiast openDlgPtr. Dodałem #include "ShObjIdl.h" nadal nie jest rozpoznawany –
Nie ustawiłeś poprawnie makra wersji okna docelowego (_WIN32_WINNT). Opcja IFileOpenDialog jest dostępna tylko w 0x600 iw górę. –