摘要: MFC(VC6.0)的CWnd及其子类中,有如下三个函数: classCWnd:publicCCmdTarget{public: virtualBOOLPreCreateWindow(CREATESTRUCT&cs);virtualvoidPreSubclassWindow();BOOLSubclassWindow(HWNDhWnd);}; 让人很不容易区分,不知道它们究竟干了些什么,在什么情况下要改写哪个函数? 想知道改写函数?让我先告诉你哪个不能改写,那就是SubclassWindow。Scott Meyers的杰作>的第36条是这样的Differentiate betwee 阅读全文
posted @ 2013-08-24 20:35 问笑 阅读(527) 评论(0) 推荐(0)
摘要: 我们在调用CWnd::GetDlgItem()函数时,MSDN告诉我们:The returned pointer may be temporary and should not be stored for later use.中文意思就是:返回的指针可能是临时的并且最好不要保存起来放到以后用。猜测:返回的指针既然可能是临时的,那么可能是非临时的(永久的),最好不要保存起来放到以后用(有时候可以保存起来)源码面前,了无秘密。让我们深入MFC源代码去看个究竟。先随便建立一个Dialog程序,然后在窗体上拉一个按钮,添加按钮事件,在按钮事件里写上如下代码:GetDlgItem(IDC_BUTTON1 阅读全文
posted @ 2013-08-24 04:19 问笑 阅读(532) 评论(0) 推荐(0)