语法
|
|
(
BOOL bOpenFileDialog, //TRUE则显示打开文件对话框,FALSE则显示保存文件对话框。
LPCTSTR lpszDefExt = NULL,//指定默认的文件扩展名。
LPCTSTR lpszFileName = NULL,//指定默认的文件名。
DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,//指明一些特定风格
LPCTSTR lpszFilter = NULL,/*是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。
参数格式如:
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。*/
CWnd* pParentWnd = NULL//为父窗口指针。
);
写文件:
void Cdraw3View::OnFileWrite()
{
// TODO: 在此添加命令处理程序代码
CString str = _T("hello,world.\n");
// 文件对话框
CFileDialog fileDlg(FALSE);
fileDlg.m_ofn.lpstrFilter = _T("Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0");
if (IDOK == fileDlg.DoModal())
{
CString path = fileDlg.GetPathName();
CFile file(path, CFile::modeCreate | CFile::modeWrite);
int n = str.GetLength()*sizeof(TCHAR);
file.Write(str, n);
file.Close();
}
}
读文件:
void Cdraw3View::OnFileRead()
{
// TODO: 在此添加命令处理程序代码
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrFilter = _T("Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0");
if (IDOK == fileDlg.DoModal())
{
CString path = fileDlg.GetPathName();
CFile file(path, CFile::modeRead);
int cnt = file.GetLength();
int chars = cnt / sizeof(TCHAR);
TCHAR* pBuf = new TCHAR[chars + 1];
file.Read(pBuf, cnt);
pBuf[chars] = 0;
MessageBox(pBuf);
file.Close();
delete []pBuf;
}
}