Windows图形界面(GUI)-MFC-C/C++ - 文件对话框

目录

文件对话框

概念

流程

拓展

示例


文件对话框

概念

  • 文件对话框:是一种特殊的对话框,用于打开或保存文件。

  • 类型:包括打开文件对话框和保存文件对话框。

  • 用途:常用于应用程序中需要用户选择文件路径的场景,如打开文档、保存文档等。

流程

  • 选择文件对话框类:使用CFileDialog类来创建文件对话框。

  • 初始化对话框:设置对话框的初始参数,如文件类型过滤器、默认路径等。

  • 显示对话框:调用DoModal函数显示对话框,等待用户选择或输入文件名。

  • 获取用户选择:对话框关闭后,通过对话框对象获取用户选择的文件路径。

    • GetPathName函数:获取用户选择的完整文件路径,包括文件名和扩展名。

    • GetFileName函数:仅获取用户选择的文件名,不包括路径。

    • GetFileExt函数:获取用户选择的文件扩展名。

拓展

  • CFileDialog类:是MFC提供的用于创建文件对话框的类。

  • 构造函数参数:包括是否为保存对话框、初始文件名、文件过滤器、初始路径等。

  • bOpenFileDialog:一个布尔值,指示对话框是用于打开文件(TRUE)还是保存文件(FALSE)。

    • lpszDefExt:默认的文件扩展名,如果用户没有输入扩展名,将自动添加。

    • lpstrFilter:文件类型过滤器,用于限制对话框中显示的文件类型。

    • lpstrInitialDir:初始的文件路径,对话框打开时默认显示的目录。

    • dwFlags:对话框的标志,用于自定义对话框的行为和外观。

  • 文件过滤器:合理设置文件过滤器,以便用户能够快速找到所需的文件类型。

  • 默认路径:设置合适的默认路径,提高用户体验。

  • 错误处理:检查用户是否选择了文件,以及文件是否存在或可写。

示例
void CMainDlg::OnBnClickedButton10()
{
	// 构造对象
	CFileDialog cFileDlg(
		TRUE,
		NULL,
		_T("default.ini"),
		OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST,
		_T("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||"),
		this);

	// 初始内容
	cFileDlg.m_ofn.lpstrInitialDir = _T("D:\\");
	cFileDlg.m_ofn.lpstrTitle = _T("打开指定格式文件");

	// 显示窗口
	if (cFileDlg.DoModal() == IDOK)
	{
		CString str1 = cFileDlg.GetPathName();
		CString str2 = cFileDlg.GetFileName();	
		CString str3 = cFileDlg.GetFileTitle();
		CString str4 = cFileDlg.GetFileExt();

		return;
	}
	else
	{
		MessageBox(_T("打开文件失败"), _T("警告"), MB_OK | MB_ICONERROR);
	}
}
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值