首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

“CDialog”和“CDialogEx”有什么不同,该如何处理

2012-02-02 
“CDialog”和“CDialogEx”有什么不同VC6中Dialog基类是“CDialog”,而在VS2010中Dialog基类默认选择的是“CDial

“CDialog”和“CDialogEx”有什么不同
VC6中Dialog基类是“CDialog”,而在VS2010中Dialog基类默认选择的是“CDialogEx”。
问题一:两者有什么差别和联系???

问题二:VC6.0创建的头文件开头有
#if !defined(AFX_CHATDLG_H__CA158545_90FE_4D51_8EB9_8AD271AFBB86__INCLUDED_)
#define AFX_CHATDLG_H__CA158545_90FE_4D51_8EB9_8AD271AFBB86__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

而在VS2010创建的头文件中则没有,请问这是为什么???

[解决办法]
CDialogEx继承自CDialog,给加了一些功能,比如可以换背景图片、背景颜色啥的。另外还改了一些与界面相关的东西。。。你手动继承自CDialog也不会出错。。



vc6那种写法可能是怕有些ide不支持这种防止重复包含的方式。。
vs2010也会用#pragma once来防止重复包含
[解决办法]
CDialogEx=CDialog Extend
Extend的意思是扩展,即扩展的CDialog

热点排行