vs2010MFC选择文件对话框,选择目录对话框

选择文件对话框:


第四个参数 dwFlags为对话框风格,一般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 即隐藏只读选项和覆盖已有文件前提示。

TCHAR szFilter[] = _T("jpg(*.jpg)|*.jpg|bmp(*.bmp)|*.bmp");   //可供选择的后缀
    // 构造保存文件对话框   
	//第1个参数false是保存文件,true是打开文件。第2个参数是默认后缀,第3个参数是默认文件名
    CFileDialog fileDlg(FALSE, _T("jpg"), _T("my"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);
    CString strFilePath;   //文件路径
	
    // 显示保存文件对话框   
    if (IDOK == fileDlg.DoModal())   
    {   
        // 如果点击了文件对话框上的“保存”按钮,则将选择的文件路径显示到编辑框里   
        strFilePath = fileDlg.GetPathName();   
        SetDlgItemText(IDC_EDIT1, strFilePath);   
    }

选择目录对话框:

char szBuffer[_MAX_PATH];
	BROWSEINFO browseInfo;
	browseInfo.hwndOwner=this->m_hWnd;
	browseInfo.pidlRoot=NULL;
	browseInfo.pszDisplayName=NULL;
	browseInfo.lpszTitle="请选择图像保存路径";
	browseInfo.ulFlags=BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS;
	browseInfo.lpfn=NULL;
	browseInfo.lParam=0;
	LPITEMIDLIST lpItemIDList;
	//CString strOpenPath;
	if((lpItemIDList=::SHBrowseForFolder(&browseInfo))!=NULL)
	{
		if(::SHGetPathFromIDList(lpItemIDList,szBuffer))
		{
			if(szBuffer[0]=='\0')
			{
				AfxMessageBox("Fail to get directory",MB_ICONSTOP|MB_OK);
				return;
			}
			strSavePath=szBuffer;//保存的路径
		}
		else
		{
			AfxMessageBox("Fail to get directory!",MB_ICONSTOP|MB_OK);
			return;
		}
	}


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值