PreTranslateMessage 与 WindowProc 的关系
来源:互联网 发布:网络用语大全 真的很全 编辑:程序博客网 时间:2024/04/27 21:36
摘至http://topic.csdn.net/u/20070828/17/a4283e65-6176-4673-8559-5e822667b4d3.html
MFC中PreTranslateMessage是GetMessage(...)函数的下一级操作,即GetMessage(...)从消息队列中获取消息后,交由PreTranslateMessage()处理,若其返回FALSE则再交给TranslateMessage和DispatchMessage处理(进入WindowProc);
如果用SendMessage, 则消息直接交到WindowProc处理,所以GetMessage不会取得SendMessage的消息,当然PreTranslateMessage也就不会被调用。
如果用PostMessage,则消息进入消息队列,由GetMessage取得,PreTranslateMessage就有机会进行处理。
好像不对,我没看MFC中的 SendMessage,GetMessage ,文档,但看了 SDK的 GetMessage文档:
他的描述是:
During this call,the system delivers pending messages that were send to windows owned by
the calling thread using the SendMessage,SendMessageCallback,SendMessageTimeout or
SendNotifyMessage function. The system may also process internal events. Message are
processed in the folloing order:
Sent messages
Posted messages
Input(hardware) messages and system internal events
Sent messages(again)
WM_PAINT messags
WM_TIMER messags.
似乎 GetMessage 也会取得 SendMessage产生的消息
SendMessage要区分环境,如果是对本线程的窗口SendMessage,则不经过任何消息循环,也不放入消息队列,直接调用WindowProc,所以GetMessage和PreTranslateMessage都捕获不到;如果SendMessage是向其它线程或其它进程的窗口发消息,则消息进入消息队列,GetMessage和PreTranslateMessage能捕获到这个消息。
- PreTranslateMessage 与 WindowProc 的关系
- PreTranslateMessage 与 WindowProc 的关系
- PreTranslateMessage 与 WindowProc 的关系,
- PreTranslateMessage 与 WindowProc 的关系
- PreTranslateMessage 与 WindowProc 的关系
- PreTranslateMessage 与 WindowProc 的关系
- PreTranslateMessage与WindowProc的区别
- PreTranslateMessage 与 WindowProc
- DefWindowProc WindowProc TranslateMessage PreTranslateMessage
- PreTranslateMessage 和 windowProc
- DefWindowProc WindowProc TranslateMessage PreTranslateMessage
- mainwndproc 、 windowproc与wndproc
- windowproc与defwindowproc
- TranslateMessage ().与 WindowProc的差别 之二. (调试了一天!!!)
- MFC OnChar、OnKeyDown、OnKeyUp和PreTranslateMessage的关系
- CWnd::WindowProc的理解
- 谈谈WindowProc的使用
- WindowProc的使用
- 童年碎片
- 似水流年
- FTP服务器配置---学习笔记
- 心情在文字中淡然走过
- 改变
- PreTranslateMessage 与 WindowProc 的关系
- oracle存储过程分页
- 我活着的意义
- VS 2005 SP1 安装
- 大唐移动骨干集体出走
- VS 2005 SP1 安装
- Javascript 实现的实时 3D 三角形的例子
- [转]memcache_engine + memcachedb = 高性能分布式内存数据库
- PetShop4.0架构分析 (转载)