MFC小总结_1
来源:互联网 发布:led手机显示屏软件 编辑:程序博客网 时间:2024/06/07 08:14
SDK的消息实现机制:
1)Windows的消息和线程是相对应的,即windows会把消息发送给和消息相对应的线程。
2)在SDK模式下,程序是通过GetMessage函数从某个线程相对应的消息队列中取出来并放到MDG里面
3)TranslateMessage函数把消息翻译成字符消息并放到响应的消息队列中,最后DispachMessage函数把消息分发到相关的窗口过程。窗口过程根据消息类型对不通消息进行处理
MFC的消息实现机制:上实例(trafficlight)
BEGIN_MESSAGE_MAP(CInheritClass, CBaseClass)
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT,
&CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW,
&CView::OnFilePrintPreview)
ON_WM_TIMER()
ON_COMMAND(ID_START, &CthirdView::OnStart)
ON_COMMAND(ID_STOP, &CthirdView::OnStop)
END_MESSAGE_MAP()
函数AfxWndProc接收Windows操作系统发送的消息。
函数AfxWndProc调用函数AfxCallWndProc进行消息处理,这里是把对句柄的操作转换成对CWnd对象的操作。
函数AfxCallWndProc调用CWnd类的函数WindowProc进行消息处理。注意AfxWndProc和AfxCallWndProc都是AFX的API函数。而WindowProc已经是CWnd的一个方法。所以可以注意到在WindowProc中已经没有关于句柄或者是CWnd的参数了。WindowProc调用方法OnWndMsg进行正式的消息处理,即把消息派送到相关的方法中去处理。
常用消息:
WM_COMMAND(0x0111 )选择窗口菜单项或某个控件发送一条消息给它的父窗口或按下一个快捷键时产生此消息;
WM_TIMER(0x0113 )发生了定时器事件;
WM_LBUTTONDOWN(0x0201)按下鼠标左键;
WM_LBUTTONDBLCLK(0x0203)双击鼠标左键;
WM_RBUTTONDOWN(0x0204)按下鼠标右键;
WM_RBUTTONDBLCLK(0x0206)双击鼠标右键;
WM_MBUTTONDOWN(0x0207)按下鼠标中键;
- MFC小总结_1
- MFC 小总结
- 总结系列_1(opencv需常用的小工程,续...)
- 总结系列_1(opencv需常用的小工程,续...)
- MFC对话框程序小总结
- MFC--小知识总结二
- MFC 小知识总结四
- MFC 小知识总结五
- MFC--小知识总结二
- MFC 小知识总结一
- MFC 小知识总结二
- MFC 小知识总结三
- MFC 小知识总结四
- MFC 小知识总结五
- MFC总结的小知识点
- Oracle小知识_1
- 小程序_1
- Python小程序_1
- Hive-模式设计
- 排序算法之归并排序
- HDU-1075-What Are You Talking About
- android studio 导入外部库文件,以及将项目中module引用依赖
- GYM 101149 C.Mathematical Field of Experiments(水~)
- MFC小总结_1
- 团体程序设计天梯赛-练习集 L3-005. 垃圾箱分布 dijkstra 解题报告
- Installing CUDA 8.0 + cuDNN 5.1 + TensorFlow with Ubuntu 14.04 (上)
- 流媒体-FFmpeg
- hibernate学习笔记第一天(2)
- java自适应响应式 企业网站源码 SSM 生成静态化 手机 平板 PC
- 微信小程序之提高应用速度小技巧
- PLC HandShake 的Data传递为什么用 Work Number
- Java SSM 商户管理系统 客户管理 库存管理 销售报表 项目源码