(1)选择文件

CFileDialogdlg(TRUE,_T("*.bmp"),NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY,_T("图片文件(*.bmp;*.png)|*.png;*.bmp|AllFiles(*.*)|*.*||"),NULL);//打开文件对话框的标题名dlg.m_ofn.lpstrTitle=_T("选择图片");if(dlg.DoModal()==IDOK){CStringFilePathName=dlg.GetPathName();//路径名+文件名CStringFileName=dlg.GetFileName();//文件名intWhich=FileName.Find('.');CStringOnlyFileName=FileName.Left(Which);//无扩展的文件名//获取扩展名intnPos=FileName.ReverseFind('.');CStringcsFileExtName=FileName.Right(FileName.GetLength()-nPos-1);m_strUserPicName=strUserName+_T(".")+csFileExtName;m_strUserPicPath=GetAppllicationPath()+_T("User\\")+m_strUserPicName;BOOLret=CopyFile(FilePathName,m_strUserPicPath,TRUE);CRectrt;m_picUserIcon.GetClientRect(&rt);this->InvalidateRect(rt);}else{return;}

(2)保存文件

CFileDialogdlg(FALSE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("EXCEL文件(*.xlsx)|*.xlsx|AllFiles(*.*)|*.*||"),AfxGetMainWnd());//打开文件对话框的标题名dlg.m_ofn.lpstrTitle=_T("输入导出的Excel文件名");if(dlg.DoModal()==IDOK){CStringFilePathName=dlg.GetPathName();//路径名+文件名CStringFileName=dlg.GetFileName();//文件名INTindex=dlg.m_ofn.nFilterIndex;if(1==index){FilePathName+=_T(".xlsx");USES_CONVERSION;if(_access(W2A(FilePathName),0)==0){CStringstrQuery;strQuery.Format(_T("%s已经存在,要替换掉吗?"),FilePathName);if(IDNO==::MessageBox(NULL,strQuery,_T("文件覆盖"),MB_ICONQUESTION|MB_YESNO)){//保存操作}}}}else{return;}

选择文件夹

CStringCScale3DCTab2Dlg::SelFilePath(){TCHARszFolderPath[MAX_PATH]={0};CStringstrFolderPath=TEXT("");BROWSEINFOsInfo;::ZeroMemory(&sInfo,sizeof(BROWSEINFO));sInfo.pidlRoot=0;sInfo.lpszTitle=_T("请选择生成的安装文件Install.exe的路径");sInfo.ulFlags=BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_DONTGOBELOWDOMAIN;sInfo.lpfn=NULL;//显示文件夹选择对话框LPITEMIDLISTlpidlBrowse=::SHBrowseForFolder(&sInfo);if(lpidlBrowse!=NULL){//取得文件夹名if(::SHGetPathFromIDList(lpidlBrowse,szFolderPath)){strFolderPath=szFolderPath;}}if(lpidlBrowse!=NULL){::CoTaskMemFree(lpidlBrowse);}returnstrFolderPath;}