vc++中·通过调用对话框类DoModal函数将每一个通用对话框显示一遍

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:45:59
在单文档应用程序中,通过调用对话框类DoModal函数将每一个通用对话框显示一遍~~~课后的一个题目
本来想这样改的
void CMainFrame::OnTestDlg()
{
CFileDialog dlg;
dlg.DoModal();
}
有错
=========================================================

E:\0706111046\46_6\MainFrm.cpp(112) : error C2512: 'CFileDialog' : no appropriate default constructor available
Error executing cl.exe.

46_6.exe - 1 error(s), 0 warning(s)
============================================================
后来看到了这个
void CMainFrame::OnTestDlg()
{
CString filter;
filter="文本文件(*.txt)|*.txt|C++文件|(*.h,*.cpp)|*.h,*.cpp||";
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter);
if(dlg.DoModal()==IDOK){
CString str;
str=dlg.GetPathName(); AfxMessageBox(str);

}
}
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter);
难道创建这个·还要参数???

谁能把题目写下··3Q了

你自己去看一下CFileDialog 这个类的构造函数吧.

CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );

这个最少需要1个参数,

这个几可以CFileDialog dlg(true);
dlg.DoModal();

这个就是弹出打开对话框,如果为假就是保存对话框.

建议你看一下CFileDialog的构造代码,VC中就有。

看完,应该就明白了。