CFileDialog文件对话框用法
(1)选择文件
创新互联从2013年开始,是专业互联网技术服务公司,拥有项目网站制作、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元白碱滩做网站,已为上家服务,为白碱滩各地企业和个人服务,联系电话:18982081108
CFileDialog dlg(TRUE, _T("*.bmp"), NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, _T("图片文件(*.bmp;*.png)|*.png;*.bmp| All Files (*.*) |*.*||"), NULL); // 打开文件对话框的标题名 dlg.m_ofn.lpstrTitle = _T("选择图片"); if (dlg.DoModal() == IDOK) { CString FilePathName = dlg.GetPathName(); //路径名+文件名 CString FileName = dlg.GetFileName(); //文件名 int Which = FileName.Find('.'); CString OnlyFileName = FileName.Left(Which); //无扩展的文件名 // 获取扩展名 int nPos = FileName.ReverseFind('.'); CString csFileExtName = FileName.Right(FileName.GetLength() - nPos - 1); m_strUserPicName = strUserName + _T(".") + csFileExtName; m_strUserPicPath = GetAppllicationPath() +_T("User\\")+ m_strUserPicName; BOOL ret = CopyFile(FilePathName, m_strUserPicPath,TRUE); CRect rt; m_picUserIcon.GetClientRect(&rt); this->InvalidateRect(rt); } else { return; }
(2)保存文件
CFileDialog dlg(FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("EXCEL文件(*.xlsx)|*.xlsx| All Files (*.*) |*.*||"), AfxGetMainWnd()); // 打开文件对话框的标题名 dlg.m_ofn.lpstrTitle = _T("输入导出的Excel文件名"); if (dlg.DoModal() == IDOK) { CString FilePathName = dlg.GetPathName(); //路径名+文件名 CString FileName = dlg.GetFileName(); //文件名 INT index = dlg.m_ofn.nFilterIndex; if (1 == index) { FilePathName += _T(".xlsx"); USES_CONVERSION; if (_access(W2A(FilePathName), 0) == 0) { CString strQuery; strQuery.Format(_T("%s 已经存在,要替换掉吗?"), FilePathName); if (IDNO == ::MessageBox(NULL, strQuery, _T("文件覆盖"), MB_ICONQUESTION | MB_YESNO)) { //保存操作 } } } } else { return; }
选择文件夹
CString CScale3DCTab2Dlg::SelFilePath() { TCHAR szFolderPath[MAX_PATH] = { 0 }; CString strFolderPath = TEXT(""); BROWSEINFO sInfo; ::ZeroMemory(&sInfo, sizeof(BROWSEINFO)); sInfo.pidlRoot = 0; sInfo.lpszTitle = _T("请选择生成的安装文件Install.exe的路径"); sInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_EDITBOX | BIF_DONTGOBELOWDOMAIN; sInfo.lpfn = NULL; // 显示文件夹选择对话框 LPITEMIDLIST lpidlBrowse = ::SHBrowseForFolder(&sInfo); if (lpidlBrowse != NULL) { // 取得文件夹名 if (::SHGetPathFromIDList(lpidlBrowse, szFolderPath)) { strFolderPath = szFolderPath; } } if (lpidlBrowse != NULL) { ::CoTaskMemFree(lpidlBrowse); } return strFolderPath; }
本文标题:CFileDialog文件对话框用法
文章源于:http://pwwzsj.com/article/jeghcp.html