为何DoModal不管用?

Xsean 2001-08-11 11:07:21
一个基于Dialog的MFC程序,我自己又添加了一个Dialog,设计为当点击一个button时调用domodal来显示我自己添加的Dialog,
Cmydlg dlg;
dlg.DoModal();
通过调试可以确定DoModal已被调用,可对话框就是显示不出来,是何原因?
...全文
163 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Belle 2001-08-12
  • 打赏
  • 举报
回复
huhu
Xsean 2001-08-12
  • 打赏
  • 举报
回复
我已经解决了,是自定义控件的属性框里Class name一栏写的不对,以前没用过,所以闹出这么个笑话。耽误各位宝贵的时间,小生赔礼了。
young_t 2001-08-12
  • 打赏
  • 举报
回复
在你自己的程序里应该不用关系模态对话框是否关闭,因为对话框关闭了对话框也就消失了。
ShyWJB 2001-08-12
  • 打赏
  • 举报
回复
在你找我的贴子中已做答复
y616 2001-08-12
  • 打赏
  • 举报
回复
在你自己定义的类中要调用CDialog的构造函数
Cmydlg(): CDialog(IDD)
{
}

yuqiang0304@163.net
yuqiang3@263.net
cchuocp 2001-08-11
  • 打赏
  • 举报
回复
DoModal()返回后,对话框就关闭了。
aspdiyer 2001-08-11
  • 打赏
  • 举报
回复
把代码都拿出来撒
zzh 2001-08-11
  • 打赏
  • 举报
回复
你判断一下这个自定义的控件是否正确的生成了,在对话框的初始化函数中有没有问题
Xsean 2001-08-11
  • 打赏
  • 举报
回复
再问:假设调用dlg.DoModal()成功了,我用什么函数判断dlg是否已关闭了呢?
Xsean 2001-08-11
  • 打赏
  • 举报
回复
MSVCer(家宝)说得对,我用了一个custom control ,但如何初始化呢?
cqa 2001-08-11
  • 打赏
  • 举报
回复
是否button有几个地方有消息处理?
我曾经遇到过:
在CApp类里:
CApp::OnButton()
{
CDlg dlg;
dlg.DoModal();
}
在CView里也有:
CView::OnButton()
{
CDlg dlg;
dlg.DoModal();
}

取消一个OnButton就好了,至于为什么,就不知了
hswqs 2001-08-11
  • 打赏
  • 举报
回复
检查一下Dialog的属性
MSVCer 2001-08-11
  • 打赏
  • 举报
回复
确认Cmydlg对话框中自定义控件已初始化,一般都是这个原因,如将richedit初始化

16,551

社区成员

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

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

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