CFileDialog文件对话框用法-创新互联

(1)选择文件

创新互联公司是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:成都响应式网站建设品牌网站制作成都全网营销推广。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站设计、成都网站制作、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。
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://pwwzsj.com/article/dpdjgi.html