我想从CWnd继承一个类,但是在ClassWizard中只有CWndThread,我手工把CMyWnd:public CWndThread改为CMyWnd:public CWnd后,可是在Class I

zhanghaifeng 2003-04-04 10:58:21
我想从CWnd继承一个类,但是在ClassWizard中只有CWndThread,我手工把class CMyWnd:public CWndThread改为class CMyWnd:public CWnd后,可是在Class Info中仍显示其基类为CWndThread,请问如何将CMyWnd的基类彻底改为CWnd?
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pcman1990 2003-04-05
  • 打赏
  • 举报
回复
更改基类不是完全不可以,只不过根本不存在一个通行的万无一失的方法,因为,不加区别地把任何一个类替换成毫不相干的另外一个类,很多时候本身是毫无意义的;另外,不同类型的类ClassWizard为其自动生成的代码也大不相同,你只有彻底搞清楚各个类代码结构才行。
对于功用上比较接近的两个类,可以采取在.cpp和.h中全文替换的方式,然后删除其中被替换类特有的代码部分,再加上替换类应有的部分,前提,还是你必须对两个类有很好的了解,不能确定的部分,可以通过编译、连接、调试来帮忙--这种方法只是偶尔偷懒不想自己创建.cpp、.h文件时用得多一些

zhanghaifeng 2003-04-04
  • 打赏
  • 举报
回复
谢谢pcman1990(pcman)!

我想再多问一句:如果继承的类不在ClassWizard中,如何更改基类?
zhanghaifeng 2003-04-04
  • 打赏
  • 举报
回复
to pcman1990(pcman):

继承类不是从Class Wizard 中的Add Class...中增加的吗?
Insert->New Class...中也找不到CWnd.
pcman1990 2003-04-04
  • 打赏
  • 举报
回复
在CWinThread下面一项就是
pcman1990 2003-04-04
  • 打赏
  • 举报
回复
Class Wizard中有,直接可以CWnd继承的,list item中不是CWnd,而是Generic CWnd
zhanghaifeng 2003-04-04
  • 打赏
  • 举报
回复
to JennyVenus(山下一群鹅) :

请问要改哪些地方?
谢谢!
用户 昵称 2003-04-04
  • 打赏
  • 举报
回复
还有很多相关的地方和宏需要修改。头文件和cpp中都有。

16,472

社区成员

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

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

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