文件的打开/保存对话框
让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。MFC的类CFileDialog用于实现这种功能。使用CFileDialog声明一个对象时,第一个BOOL型参数用于指定文件的打开或保存,当为TRUE时将构造一个文件打开对话框,为FALSE时构造一个文件保存对话框。
在构造CFileDialog对象时,如果在参数中指定了OFN_ALLOWMULTISELECT风格,则在此对话框中可以进行多选操作。此时要重点注意为此CFileDialog对象的m_ofn.lpstrFile分配一块内存,用于存储多选操作所返回的所有文件路径名,如果不进行分配或分配的内存过小就会导致操作失败。下面这段程序演示了文件打开对话框的使用方法。
CFileDialog mFileDlg (TRUE,NULL,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, "All Files (*.*) |*.* ||",AfxGetMainWnd());
//倒数第二个参数,定义打开文件类型
//代表所有文件"All Files (*.*) |*.*||
// OFN_ALLOWMULTISELECT表示可以复选文件
//第一个参数为true是打开对话框,为false是保存对话框
///
//为m_ofn.lpstrFile分配一块内存
///
CString str(" ",10000);
mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);
str.ReleaseBuffer();
///
//显示打开/保存对话框
if(mFileDlg.DoModal()!=IDOK)
{
return;
}
运行后程序效果
///
//下列语句可以更改打开对话框标题
pCFileDialog.mFileDlg.lpstrTitle = "打开文件 "; //“打开文件”
///