在MFC项目中使用CFileDialog打开文件时,一般的使用场景是选择一个文件,今天我们做一个选择多个文件的实验,运行环境是VS2022。
实验目标:在基于对话框的MFC项目中,通过调用CFileDialog类对象,将选择到的多个文件的路径及文件名保存到一个CString数组中,并通过显示控件逐一显示出来。
实验具体步骤如下:
一、建立一个基于对话框的MFC项目
打开VS2022->创建新项目->MFC应用->下一步->项目名称填写:testMultiFile->创建->应用程序类型选择:基于对话框->完成(其余项目均按缺省)。
二、设置对话框界面
选择对话框界面,将对话框上自动生成的控件删去。接着:
1. 拖入一个静态文本框置于对话框的左上部,将描述文字改为“选择多个文件实验”。
2. 拖入一个按钮控件,放到对话框的右上方,描述文字改为“开始实验”,ID改为IDC_TEST;后边我们将在给这个按钮添加的处理程序中完成选择、提取信息、存储文件路径及文件名等工作。
3. 再拖入两个按钮控件,并列放到“开始试验”按钮的下方,将描述文字分别改为“▲”和“▼”,并将ID分别改为IDC_UP与IDC_DOWN;这两个按钮的作用是在显示时移动显示的内容,具体实现过程在为它们添加的处理程序中进行。
4. 拖入一个静态文本框,放在对话框的右下方,将描述文字改为“文件路径及文件名”。
5. 拖入一个文本编辑框,放到“文件路径及文件名”的右侧,我们将使用它显示选择的内容,为此,给他添加一个变量m_Path。(添加步骤:右键文本编辑框->添加变量->在名称中写入m_Path->完成)
三、在testMultiFileDlg.h中声明几个变量
这几个变量以public方式声明,具体名称、作用见代码后边的注释。