Sto cercando di creare un semplice browser cartella di MFC e cercare risposte a MSDN e anche qui: questo è il mio codice finora:MFC del browser cartella 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();
}
gli errori che sto ricevendo sono:
- puntatore al tipo di classe incompleta non è consentito (questo è per openDlg)
- identificatore "FOS_PICKFOLDERS" è indefinito
sto lavorando su Visual Studio 2010, win7
Dov'è openDlgPtr? Non riesco a vedere nello snippet di codice. "FOS_PICKFOLDERS" è definito in ShObjIdl.h, assicurati di averlo incluso – stamhaney
risolverò quella scusa openDlg invece di openDlgPtr. ho aggiunto #include "ShObjIdl.h" non è ancora riconosciuto –
Non si sta impostando correttamente la macro della versione della finestra di destinazione (_WIN32_WINNT). IFileOpenDialog è disponibile solo in 0x600 e versioni successive. –