在MFC编程中,为什么不可以直接用CDialog类创建 模态对话框?CDialog dlg; dlg.DoModal();出错。为什么?

 我来答
gfaming1970
2011-05-09 · TA获得超过105个赞
知道答主
回答量:70
采纳率:0%
帮助的人:64万
展开全部
必须要跟一个对话框资源关联才行。
像你这样,这个dlg连自己的皮在哪儿都不知道,你让他出来现身(domodal)那不瞎搞嘛。
追问
还能具体点啊?
我知道一般的做法是:添加一个对话框资源,然后为它关联一个类,比如CDialogDlg,再用这个类创建一个对话框CDialogDlg dlg;dlg.DoModal(),能否解释一下,为什么用基类CDialog直接创建就有问题? 我对这个表示不解。
追答
CDialog只是一个普通对话框的代表,是一个通用类,它的作用就是提供作为一个对话框的各种功能,但这些功能必须要作用在一个实实在在的对话框上才行,所以,你要想弹出一个实实在在的对话框,或者要关闭一个实实在在的对话框,或者通过CDialog提供的SetWindowText函数改变对话框的标题,那么就必须有一个实实在在的对话框存在才行,这就是为什么必须要有一个对话框资源与CDialog联系起来才行,呵呵,说的有些乱,也不知你能不能理解,哈哈。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式