码迷,mamicode.com
首页 > 其他好文 > 详细

MFC DAY02

时间:2014-07-24 00:47:47      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:re   c   new   window   设计   windows   

一 窗口的创建(2)
1 加载菜单
2 调用CreateEx成员函数,注册窗口类/创建窗口
2.1 调用PreCreateWindow成员函数 设计并注册窗口类
1)调用AfxDeferRegisterClass全局函数设计窗口类
WNDCLASS wndcls;
wndcls.lpfnWndProc = DefWindowProc;
.....
并调用 AfxRegisterClass全局函数,在这个函数
中调用WIN32 API 函数::RegisterClass注册一个
局部窗口类 类名称为"AfxFrameOrView42sd"
2.2 调用AfxHookWindowCreate函数
1)利用::SetWindowsHookEx在程序中埋下一个类型
为WH_CBT的钩子。
2)将自己new的框架类对象地址(pFrame)保存到
当前程序线程信息中。
2.3 调用WIN32 API 函数 ::CreateWindowEx创建窗口
此函数一旦执行成功,马上执行钩子处理函数。
3 钩子处理函数
3.1 将 窗口句柄 和 框架类对象 建立一对一绑定关系
3.2 将 窗口处理函数 更改为
AfxWndProc(真正的窗口处理函数)
二 AfxWndProc(窗口处理函数)处理消息的执行过程
1 利用消息所属窗口句柄,找到和它绑定在一起框架类
对象地址(pFrame)。
2 利用框架类对象地址(pFrame)调用框架类的成员虚函
数(WindowProc),完成消息的处理。

MFC DAY02,布布扣,bubuko.com

MFC DAY02

标签:re   c   new   window   设计   windows   

原文地址:http://www.cnblogs.com/Renekton/p/3864139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!