第一种方法: 直接修改MFC库的源文件, 将CWnd改成你需要的, 那么它继承的所有类都会有相应的特性, 这种方法不可取, 因为修改了MFC.
第二种方法: 从CWnd扩展CWndExt类, 程序中所有从CWnd继承来的类均要改成CWndExt.
比如将:
class MyClass : public CWnd
改成:
class MyClass : public CWndExt
第二种方法: 从CWnd扩展CWndExt类, 程序中所有从CWnd继承来的类均要改成CWndExt.
比如将:
class MyClass : public CWnd
改成:
class MyClass : public CWndExt
请问,有没有办法让CDialog、CView类也继承CWndExt类的新特性呢?
我不太想动MFC的源码。在DELPHI和C++Build中,所有对话框和窗口
都是从TForm派生,而VC中分成了视图窗口和对话框,我要采用统一的
新风格,在DELPHI和C++Build中可以扩展TForm类,但在VC中,我想
不至于重写CView和CDialog才能共同继承CWndExt类吧?
你如果希望都用CWndExt的特性, 为什么不直接继承CWndExt呢???
因为CView和CDialog有很多的不同, 没有办法统一...
为什么不用Delphi呢???
我是给公司做程序,身不由己嘛
谢你啦,
我想顺便问问知道SubClass是怎么一回事吗?
子类化就是你自己写一个消息处理函数,然后用它替换掉某一个窗口类中原来的窗口过程,这样你就可以随心所欲地控制窗口的行为了。子类化的实现方法并不难,你可以参考有关SDK手册就行。