如何实现点击按钮生成新的对话框?

conan417 2009-09-23 11:07:00
就是点击现在对话框上的按钮,然后弹出一个新的对话框。我看了另外一篇帖子说在按钮的函数中加入
this->EndDialog();
CDialog dlg();
dlg.DoModal;
我照着加了,可是一点作用都没有....
能请高手详细的说一下么,最好解释一下原理,代码倒是其次。不然一直弄不明白啊。
...全文
96 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
conan417 2009-09-24
  • 打赏
  • 举报
回复
终于出来了.....是没有创建资源和类...谢谢楼上各位,现在对VC有点印象了。
artcpp 2009-09-24
  • 打赏
  • 举报
回复
up!
chqiang0_0 2009-09-23
  • 打赏
  • 举报
回复
你代码写错了。。dlg后面没有括号 还有CDialog是基类。。 要是想弄个对话框。。


可以这样。。
1: 先弄个对话框资源
2: 绑定该资源ID到新建的CDialog类里。。这个可以到查看->建立类向导中弄。
3: 在你要在相应按钮的文件中添加你所创建的那个类的对话框头文件
4:然后你就可以调用上面改良后的正确代码就可以了。。
以上是我自己弄的。 要是错的话。。 可以指出来。
wltg2001 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 conan417 的回复:]
引用 4 楼 huqinglu123 的回复:
CDialog  dlg()中的CDialog是个设计好的对话框类,就是基于一个对话框的类,不是简单的CDialog

我就是那么大的,但是每次都提示left of '.DoModal' must have class/struct/union type
为什么呢?是要在RC中的DIALOG里插入一个新的DIALOG么?
[/Quote]
你自己难道没有事先建立好对话框资源和对话框类吗?
conan417 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 huqinglu123 的回复:]
CDialog  dlg()中的CDialog是个设计好的对话框类,就是基于一个对话框的类,不是简单的CDialog
[/Quote]
我就是那么大的,但是每次都提示left of '.DoModal' must have class/struct/union type
为什么呢?是要在RC中的DIALOG里插入一个新的DIALOG么?
huqinglu123 2009-09-23
  • 打赏
  • 举报
回复
CDialog dlg()中的CDialog是个设计好的对话框类,就是基于一个对话框的类,不是简单的CDialog
fox000002 2009-09-23
  • 打赏
  • 举报
回复
CDialog  dlg;  
dlg.DoModal;
conan417 2009-09-23
  • 打赏
  • 举报
回复
第一句不是关闭当前窗口的么,应该没影响吧?
我这提示的错误信息是left of '.DoModal' must have class/struct/union type
是要在之前定义一下dlg么?
我是个菜鸟,麻烦说的稍微详细一些。。。刚刚上手VC,很晕
wltg2001 2009-09-23
  • 打赏
  • 举报
回复
this->EndDialog();
CDialog dlg();
dlg.DoModal;
=======
将第一句去掉就行了。

16,472

社区成员

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

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

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