|
昨天去新华书店看的今天趁还记得就写下了. 窗口创建:首先定义一个CWnd对象,然后调用CWnd::Create,其实Create又会调用CreateEx,与之对应的API函数也是这样,在CreateEx调用AfxCtxCreateWindowEx之前会调用PreCreateWindow,这个时候偶CWnd对应的窗口的句柄还未被Windows分配,之后调用AfxCtxCreateWindowEx,在调用这个函数的过程中会发送WM_CREATE消息从而引发OnCreate函数调用注意调用OnCreate时CWnd中的m_hWnd已经有值了,在OnCreate中可以进行一些初始化以及创建字窗口之类的事情。至此窗口创建完毕。 窗口销毁:可以发送一个WM_CLOSE消息给指定窗口使其调用OnClose函数,此函数中会发送WM_DESTROY从而引发OnDestroy的调用,该函数又会引发最后一个消息WM_NCDESTROY的发送,OnNcDestroy即被调用,在OnNcDestroy的最后会调用PostNcDestroy,CWnd的PostNcDestroy为 void CWnd::PostNcDestroy() void CFrameWnd::PostNcDestroy() |
CWnd及窗口产生和销毁过程--发布日期:2007-8-25
最新推荐文章于 2024-06-28 16:05:21 发布
本文详细介绍了使用MFC创建和销毁窗口的过程。创建窗口时,先定义CWnd对象并调用Create方法,期间会发送WM_CREATE消息并触发OnCreate函数。销毁窗口则通过发送WM_CLOSE消息引发OnClose函数,随后的WM_DESTROY消息将调用OnDestroy函数,并最终通过WM_NCDESTROY消息完成销毁过程。
6705

被折叠的 条评论
为什么被折叠?



