1. MFC如何弹出打开文件对话框
CString strFileFilters=NULL; strFileFilters=_T("Image Files(*.bmp,*.png,*.jpg)|*.bmp;*.png;*.jpg|| "); CFileDialog selImageDialog(TRUE,NULL,NULL,NULL,strFileFilters.GetBuffer(0),this); if (IDOK==selImageDialog.DoModal()) { CString strSelectedFilePath=selImageDialog.GetPathName(); }
2.WTL如何弹出打开文件对话框
TCHAR strFileFilters[1024]=_T("Png Files(*.png)\0*.png\0\0"); CFileDialog selImageDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,strFileFilters,this->m_hWnd); TCHAR temp[1024]; ZeroMemory(temp,sizeof(TCHAR)*1024); selImageDialog.m_ofn.lpstrFile=temp; selImageDialog.m_ofn.nMaxFile=1024; if (IDOK==selImageDialog.DoModal()) { wstring wstrImagePath=temp; }
注意由于WTL下面是用\0来分割的,而不是用|来分割的,所以不能用
CString strFileFilters=_T("Png Files(*.png)\0*.png\0\0"); 来做filter.