【VC编程技巧】文件☞2.7Windows上[浏览][打开][保存]对话框

windows程序开发中,如过涉及界面的部分 ,对于浏览对话框、打开对话框、保存对话框经常会遇到,下面看看如实使用。

一、浏览对话框

效果:

场合:可以用来设置路径,选择目录。

代码:

void CBrowseFolderDlg::OnBrowse() 
{
	// TODO: Add your control notification handler code here
	BROWSEINFO bInfo;
	bInfo.hwndOwner = m_hWnd;                          //父窗口句柄
	bInfo.pidlRoot = NULL;                             //指定目录对话框的起始位置,NULL:桌面
	bInfo.pszDisplayName = (LPSTR)(LPCTSTR)m_strPath;  //接收选择的目录
	bInfo.lpszTitle = _T("请选择合适的路径");          //目录对话框的标题
	bInfo.ulFlags = BIF_EDITBOX;                       //可以订制目录对话框的样式
	bInfo.lpfn = NULL;                                 //回调函数,可以进一步设置
	bInfo.lParam =0;                                   //回调函数参数
	bInfo.iImage =0;                                   //回调函数参数
	
	//目录对话框的弹出,返回选择的目录Id
	LPITEMIDLIST lpItemIdList = SHBrowseForFolder(&bInfo);

	//将Id转换为文件路径
	if(lpItemIdList && SHGetPathFromIDList(lpItemIdList, 
		(LPSTR)(LPCTSTR)m_strPath)) {
		m_editPath.SetWindowText(m_strPath);
	}
}

二、打开对话框

效果:


场合:用于通过浏览方式,打开文件。

代码:

void CBrowseFolderDlg::OnOpen() 
{
	// TODO: Add your control notification handler code here				
	CFileDialog dlgOpenFile(
		TRUE,										//TRUE:打开对话框,FALSE:保存对话框
		_T("*.csv"),								//默认扩展名
		_T("hello.csv"),							//默认文件名
		OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,		//对话框的一些特性,自己可以设定
		_T("CSV 文件(*.csv)|*.csv|All files (*.*)|*.*||")); 

	dlgOpenFile.m_ofn.lpstrTitle = _T("Hello 打开!");//改变对话框的标题

	int flag = dlgOpenFile.DoModal();
	if (flag == IDOK){
		m_strFile = dlgOpenFile.GetPathName();
		m_editFile.SetWindowText(m_strFile);
	}
	
}

三、保存对话框

效果:


场合:用于通过浏览方式,保存文件。

代码:

void CBrowseFolderDlg::OnSave() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlgSaveFile(
		FALSE,									//TRUE:打开对话框,FALSE:保存对话框
		"*.csv",								//默认扩展名
		"hello.csv",							//默认文件名
		OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //对话框的一些特性,自己可以设定
		"CSV 文件(*.csv)|*.csv|All files (*.*)|*.*||"); 

	dlgSaveFile.m_ofn.lpstrTitle = _T("Hello 保存!");//改变对话框的标题
	int flag = dlgSaveFile.DoModal();
	if (flag == IDOK){
		m_strFile = dlgSaveFile.GetPathName();
		m_editFile.SetWindowText(m_strFile);
	}
}

源代码地址:猛点


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值