首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CDialog与CDialogEx的区别

CDialog与CDialogEx的区别
EN

Stack Overflow用户
提问于 2014-04-03 13:29:39
回答 4查看 10.9K关注 0票数 6

CDialog和CDialogEx有什么区别?我决定使用CDialog,因为如果Dlg是从CDialogEx派生的,则不能将m_pMainWnd分配给Dlg。

代码语言:javascript
复制
BOOL CPreparationApp::InitInstance()
{
    MyClass2 Dlg; //derived from CDialog 
    m_pMainWnd = &Dlg;
    Dlg.DoModal();
    return TRUE;
}

如果不像表单向导那样使用CDialogEx,我会遇到什么样的问题呢?

如何赋值从m_pMainWnd派生的CDialogEx变量?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-03 13:42:22

CDialogEX是从CDialog派生的,因此,将m_pMainWnd设置为CDialogEx派生对象不应该是一个问题。CDialogEx提供了设置对话框的背景色或图像的能力。

票数 8
EN

Stack Overflow用户

发布于 2015-08-03 07:11:58

CDialogEX用于设置背景颜色,对话框中的背景图像,如果您想设置背景图像或颜色,那么您的类将从CDialogEX派生出来,但请记住,如果您使用的是CDialaogEX,那么您应该使用该类的方法,如CreateEX,如果您试图从CDilaogEX派生类并使用CDialog方法,则会出现错误。

票数 6
EN

Stack Overflow用户

发布于 2015-08-14 11:33:17

我遇到了菜单按钮不能正常工作的情况,MFC源代码建议用CDialog替换CDialogEx

CMFCMenuButton does not close

在我做完之后一切都正常了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22839296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档