defwindowproc与pretranslatemessage有什么区别
来源:互联网 发布:淘宝产品没有展现 编辑:程序博客网 时间:2024/05/17 04:42
MFC 中PreTranslateMessage是GetMessage(...)函数的下一级操作,即GetMessage(...)从消息队列中获取消息 后,交由PreTranslateMessage()处理,若其返回FALSE则再交给TranslateMessage和 DispatchMessage处理(进入WindowProc);
如果用SendMessage, 则消息直接交到WindowProc处理,所以GetMessage不会取得SendMessage的消息,当然PreTranslateMessage也就不会被调用。 如果用PostMessage,则消息进入消息队列,由GetMessage取得,PreTranslateMessage就有机会进行处理。
如果用SendMessage, 则消息直接交到WindowProc处理,所以GetMessage不会取得SendMessage的消息,当然PreTranslateMessage也就不会被调用。 如果用PostMessage,则消息进入消息队列,由GetMessage取得,PreTranslateMessage就有机会进行处理。
当然PreTranslateMessage并不是万能的,它并不能过滤所有的消息,有些消息它处理不了。比如WM_NCPAINT消息
DefWindowProc是默认的窗口处理函数,我们可以把不关心的消息都丢给它来处理函数调用缺省的窗口过程来为应用程序没有处理的任何窗口消息提供缺省的处理。该函数确保每一个消息得到处理。调用DefWindowProc函数时使用窗口过程接收的相同参数。比如这个函数在处理关闭窗口消息WM_CLOSE时,是调用DistroyWindow函数关闭窗口并且发WM_DESTROY
0 0
- defwindowproc与pretranslatemessage有什么区别
- DefWindowProc WindowProc TranslateMessage PreTranslateMessage
- DefWindowProc WindowProc TranslateMessage PreTranslateMessage
- CallWindowProc与DefWindowProc的区别
- CallWindowProc与DefWindowProc的区别
- 与有什么区别?
- &与&&有什么区别?
- &与&&有什么区别?
- &与&&有什么区别?
- &与&&有什么区别?
- &与&&有什么区别?
- &与&&有什么区别?
- &与&&有什么区别?
- “.”与“->”有什么区别?
- &与&&有什么区别?
- PreTranslateMessage与WindowProc的区别
- "" 与null有什么区别
- windowproc与defwindowproc
- MyEclipse下Maven的安装配置以及运行
- 9,累加思想与计数思想
- HUD 1394 归并求逆序数
- As of ADT 14, resource fields cannot be used as switch cases
- 数据库基础
- defwindowproc与pretranslatemessage有什么区别
- CocoaPods安装和使用
- [Hadoop]配置文件
- 拒绝平庸——浅谈WEB登录页面设计
- Windows7+Anaconda+Theano+Pylearn2深度学习环境搭建
- SQL Server 2000下日期操作的实例
- Spring 注解 @Scope("prototype") 的作用
- IOS代码混淆
- 第一章C++对C的扩展(Externsion)--(2)输入与输出