CFileDialog文件对话框用法-创新互联
(1)选择文件

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;
}另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:CFileDialog文件对话框用法-创新互联
浏览地址:http://www.jxjierui.cn/article/dpdjgi.html


咨询
建站咨询
