CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTRlpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
保存文件对话框示例:
CFileDialog fileDlg(FALSE);
//设置标题
fileDlg.m_ofn.lpstrTitle="我的文件保存对话框";
//设置过滤器,本示例设置过滤两种(*.txt 和 *.*)。注意写法
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0 All Files(*.*)\0*.*\0\0";
//设置默认扩展名
fileDlg.m_ofn.lpstrDefExt="txt";
if(IDOK==fileDlg.DoModal())
{
//fileDlg.GetFileName()获得用户在文件对话框选择的文件的文件名
//获得用户在文件对话框选择的文件的完整文件路径名用GetPathName()
CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite);
file.Write("http://www.sunxin.org",strlen("http://www.sunxin.org"));
file.Close();
}
打开文件对话框示例:
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
if(IDOK==fileDlg.DoModal())
{
CFile file(fileDlg.GetFileName(),CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Read(pBuf,dwFileLen);
file.Close();
}