CDialog与CDialogEx的区别联系
CDialogEx是VS2003之后出现的,VC++6.0没有。
CDialogEx = CDialog Extend
Extend的意思是扩展,即扩展的CDialog! 这个类是CDialog的扩展类,基类就是CDialog,具备基类全部功能,并根据新系统需要增加了一些界面美化的功能。
比如修改对话框的背景颜色,标题栏的颜色,标题栏的位图,标题栏字体的位置和颜色,包括激活和非激活状态,对话框边界的颜色,对话框字体等。
如果使用的是VS2005之后的版本,推荐使用CDialogEx,好看一些,VC++6就不要想了,老实用CDialog吧。
两个在基础功能上没什么区别,但因为版本不同,MFC向导生成的类模板差异较大。
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
/////////////////////////////////////////////////////////////////////////////
// CDialogEx dialog class CDialogEx : public CDialog DECLARE_DYNAMIC(CDialogEx) // Construction protected: // Attributes: protected: // Operations: // Overrides protected: // Implementation void SetActiveMenu(CMFCPopupMenu* pMenu); |
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
/////////////////////////////////////////////////////////////////////////////
// CDialog - a modal or modeless dialog class CDialog : public CWnd { DECLARE_DYNAMIC(CDialog) // Modeless construct virtual BOOL Create(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL); // Modal construct // Attributes // Operations // support for passing on tab control - use 'PostMessage' if needed // default button access // termination // Overridables (special message map entries) // Implementation protected: // parameters for 'DoModal' #ifndef _AFX_NO_OCC_SUPPORT // implementation helpers BOOL CreateIndirect(LPCDLGTEMPLATE lpDialogTemplate, CWnd* pParentWnd, protected: // all CModalDialog functionality is now in CDialog |
CDialogEx=CDialog ExtendExtend的意思是扩展,即扩展的CDialog
CDialog与CDialogEx的区别联系的更多相关文章
- MFC OnPaint()函数中最先调用CDialog::OnPaint()和最后调用CDialog::OnPaint()的巨大区别
OnPaint()函数中最先调用CDialog::OnPaint()和最后调用CDialog::OnPaint()的巨大区别,如果没有注意这个问题就会出现无厘头式的绘图问题-- 效果就是出不来!在经过 ...
- MFC基础程序设计VS2015 最新03
视频教程地址观看:http://pan.baidu.com/s/1mhKQ6kK 一.数字(浮点数或整数)转为文字:a)如果转为窄字符字符串,sprintf函数很好用,浮点数都没问题:b)如果转为宽字 ...
- BCG界面库
之前用过BCG界面库中的表格控件,深感其强大,现在再来用一下其它的. 一. 关于BCGControlBar. BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些 ...
- 在DLL中使用对话框
在 DLL 中使用对话框资源与在 EXE 中使用是有所区别的,处理不当便会造成断言失败.原因是因为 CDialog::Create 与 CreateEx 默认使用当前进程中的资源(Dialog Tem ...
- MFC CDialog/CDialogEx DoModal ALT
Questions: I'm using MFC CDialog/CDialogEx to show a modal dialog with DoModal.usually it works with ...
- VC中不同类型DLL及区别
1. DLL的概念可以向程序提供一些函数.变量或类. 静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式.静态链接库把最后的指令都包含在最终生成的EXE文件中了:动态链接库不 ...
- VS2008SP1中CDialogEx的使用问题及解决
系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:建立一个CDialogEx的对话框 我们知道在VS2008SP1引进了BCG第三方控件,可以使MFC界面编程 ...
- C,C++,VC++有什么区别
C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生于上个世纪60年代.由于它的设计有很多优点,多年以来深受广大程序设计人员的喜爱,并逐渐淘汰了很多其它程序设计语言.我们平时使用的大多数软件都是 ...
- MFC OnOk(),OnCancel(),OnClose(),OnDestroy()的区别总结
MFC OnOk(),OnCancel(),OnClose(),OnDestroy()的区别总结(转) 第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和O ...
随机推荐
- 使用vs调试.net源代码
使用.NET Framework库参考源进行调试 您可能会想知道使用.NET Framework参考源的调试方式.在下面的示例中,您将看到一个我调用公用Console.WriteLine方法的工具.从 ...
- 解决CentOS7 无法启动mysql 的解决办法
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方 ...
- HTML十进制字符编号
有时候写文章时,段落里引用的代码莫名的就被解释到原本的html中了,通过用一些HTML里特殊字符的编码即可回到原文,保留原格式. 字符 十进制字符编号 实体名字 说明 ! ! — 惊叹号Exclama ...
- JVM虚拟机(三):参数配置
在虚拟机运行的过程中,如果可以跟踪系统的运行状态,那么对于问题的故障排查会有一定的帮助,为此,虚拟机提供了一些跟踪系统状态的参数,使用给顶的参数执行java虚拟机,就可以在系统运行时打印相关日志,用于 ...
- COM方式实现C++调用C#代码的一些总结
首先这个测试没成功,只在本机上可行,在不同机器上测试失败.可能是GUID不对或者没注册成功. 既然已经花了一上午时间去研究,还是总结一下 1.网上说要创建一个snk证书,但不创建也可以.只不过不能放入 ...
- Vim-复制选中内容至系统剪贴板,光标移动到指定行的行首和行尾
1.全选并复制到系统剪贴板 ggVG或ggvG 然后 "+y gg 让光标移到首行,在vim才有效,vi中无效 V 是进入Visual(可视)模式 G 光标移到最后一行 "+y 复 ...
- 怎么使用Less/Sass编译工具koala
怎么使用Less/Sass编译工具koala 如何使用Less/Sass编译工具koala 一.SASS调试插件的方法 如需调试功能,请在编译输出的时候输出debug信息,那样解析的css文件中就会包 ...
- Qt5中的QtGui
我在学习Qt查看Qt Creater提供的例子时,遇到了一个小问题.就是明明在代码中包含了QtGui,然而编译的时候还是提示找不到QLabel的定义,以及其他一些类的定义,但是这是官方提供的文档的啊, ...
- dependent-name ‘xxx::yyy’ is parsed as a non-type, but instantiation yields a type
简言之,就是说你该用typename的地方没用typename,如以下代码 template<class Cont> void frontInsertion(Cont& ci) { ...
- js to json字符串
var last=obj.toJSONString(); //将JSON对象转化为JSON字符 或者 var last=JSON.stringify(obj); //将JSON对象转化为JSON字符