请指教一个简单的问题:怎样用CFileDlg类?

foundnet 2001-08-30 09:09:31
我在自己的对话框头文件中定义:
CFileDialog MyFileDlg;

用MyFileDlg.DoModal();

编译报错,又按照msdn中CFileDialog构造函数的参数输入

CFileDialog MyFileDlg( TRUE, NULL, NULL,OFN_OVERWRITEPROMPT,NULL,NULL );

又说语法错误
应该怎样使用这个类,给个例子好吗?
急着用,但是没用过,也没什么资料,只好在这儿问了,谢谢
...全文
252 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
foundnet 2001-08-31
  • 打赏
  • 举报
回复
哦,刚才打错了,我是在
CommDlg.h里的CCommDlg类定义里public:定义的 CFileDialog MyFile(TRUE);
但编译的时候 说 error C2059: syntax error : 'constant'
loop000 2001-08-31
  • 打赏
  • 举报
回复
gz
12345678 2001-08-31
  • 打赏
  • 举报
回复
static CString strInitialDir = _T("");
CFileDialog dlgFile(TRUE, ".avi", NULL, OFN_HIDEREADONLY, NULL, this);
dlgFile.m_ofn.lpstrFilter = "All Files(*.*)\0*.*\0\0";
dlgFile.m_ofn.lpstrInitialDir = strInitialDir;
int iDlgRet = dlgFile.DoModal();
strInitialDir = dlgFile.m_ofn.lpstrInitialDir;
if (iDlgRet != IDOK) return;
else{
CString m_strFileName = dlgFile.GetPathName();
UpdateData(FALSE);
}
蒋晟 2001-08-30
  • 打赏
  • 举报
回复
因为全局对象在应用程序启动之前就初始化。
foundnet 2001-08-30
  • 打赏
  • 举报
回复
谢谢以上几位,我试了一下,通过,不过不能在对话框头文件中定义
如在头文件
//CommDlg.h
CFileDialog MyFile(TRUE);
不行,

只能
//CommDlg.CPP
CCommDlg::OnButton1()
{
CFileDialog MyFile(TRUE);
MyFile.DoMoDal();
}
才可以,为什么?
bobofu 2001-08-30
  • 打赏
  • 举报
回复
对。
CFileDialog MyFileDlg(TRUE); // 打开
CFileDialog MyFileDlg(FALSE); // 另存为
xianglusong 2001-08-30
  • 打赏
  • 举报
回复
CFileDialog dlg(true,"*.txt",NULL,NULL,"*.txt|*.txt|*.*|*.*||");
haha,I use this more than thousand times.
leoleevi 2001-08-30
  • 打赏
  • 举报
回复
我也遇到这种问题,主要是CFileDialog定义一个对象的时候需要加一个参数TRUE
你用
CFileDialog MyDlg(TRUE);
MyDlg.DoModel();

试试
emmai 2001-08-30
  • 打赏
  • 举报
回复
CFileDialog dFile(TRUE,"(*.bmp)|*.bmp","*.bmp",OFN_EXPLORER,"window位图文件(*.bmp)");
if(dFile.DoModal()==IDOK){ }

照我的写,没错的,上面是一个“打开文件”对话框
要使用另存为对话框则把第一个参数改为FALSE
jaguarcts 2001-08-30
  • 打赏
  • 举报
回复
照VC技朮內幕上寫的。再不行就不活了。
jaguarcts 2001-08-30
  • 打赏
  • 举报
回复
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
}
swordbroken 2001-08-30
  • 打赏
  • 举报
回复
从CFileDialog派生一个自己的类,然后建立这个自己的类的对象,然后就可以DoModal()了

class CMyFileDialog:public CFilDialog
{
}
CMyFileDialog MyFileDlg;
MyFileDlg.DoModal();

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧