CFile类使用如何创建文件打开对话框

来源:互联网 发布:alias软件 编辑:程序博客网 时间:2024/06/05 01:18

文件的打开/保存对话框
  让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。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 = "打开文件 ";  //“打开文件”

///////////////////////////////////////////////////////////////////////////////////////////////////