PreTranslateMessage

转载 2012年03月21日 06:45:23
  PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当你需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,我们可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来。只有穿过消息队列的消息才受PreTranslateMessage()影响,采用SendMessage()或其他类似的方式向窗口直接发送的而不经过消息队列的消息根本不会理睬PreTranslateMessage()的存在。   
一、是否调用TranslateMessage()和DispatchMessage()是由一个名称为PreTranslateMessage()函数的返回值决定的,如果该函数返回TRUE,则不会把该消息分发给窗口函数处理。  
二、传给PreTranslateMessage()的消息是未经翻译过的消息,它没有经过TranslateMessage()处理。可以在该函数中使用(pMsg->wParam==VK_RETURN)来拦截回车键。  三、在WindowProc里不能处理WM_Char消息。  
四、SetWindowText会发送WM_Char给窗口。  
五、PeekMessage和GetMessage的区别:  
GetMessage在没有消息的时候等待消息,cpu占用率当然低。  
PeekMessage没有消息的时候立刻返回,可以在没有消息的时候可以做其他处理,但cpu占用率一般较高。 
 大多游戏都用PeekMessage();

PreTranslateMessage

  • 2012年11月23日 09:42
  • 3KB
  • 下载

在PreTranslateMessage中处理mouse move的消息,解决Picture Control设置notify为true之后与对话框OnMouseMove冲突的问题

在PreTranslateMessage中处理mouse move的消息,解决Picture Control设置notify为true之后与对话框OnMouseMove冲突的问题 MFC中 监听O...

按钮闪烁处理PreTranslateMessage

  • 2012年06月30日 05:19
  • 54KB
  • 下载

MFC中PreTranslateMessage用法

  • 2014年07月11日 17:36
  • 22KB
  • 下载

Pretranslatemessage

在MFC里面,Pretranslatemessage是个非常重要的虚函数。这个函数的作用这里就不谈了,非常多地方都有涉及,这里只谈一下其实现的机制。谈到PretranslateMessage的实现,便...
  • diffway
  • diffway
  • 2011年03月31日 14:37
  • 297

键盘消息响应PreTranslateMessage vc++

  • 2011年12月08日 13:40
  • 23KB
  • 下载

键盘按键演示PreTranslateMessage()

  • 2011年10月12日 09:06
  • 1.79MB
  • 下载

从 CDialog::PreTranslateMessage() 开始展开 DoModal()

一直以来都不习惯使用MFC做程序,尽管写了这么多年的VC代码,直接用MFC的项目也就2个。直接使用WIN32 API让人感觉简洁和高效,当然代价是得花上更多时间去写。 回到这篇文章的话题来,还是从提出...

MFC 3D PreTranslateMessage 0.1.

  • 2015年07月21日 17:20
  • 11.88MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PreTranslateMessage
举报原因:
原因补充:

(最多只允许输入30个字)