消息循环中的TranslateMessage函数
2008-03-06 22:28
197 查看
消息循环中的TranslateMessage函数
开发者在线 Builder.com.cn 更新时间:2007-09-28作者:ghost 来源:CSDN
本文关键词: 消息循环 ghost 函数
函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。.函数原型:
BOOL TranslateMessage( CONST MSG *lpMsg );
.参数:
lpMsg
指向一个含有用GetMessage或PeekMessage函数从调用线程的消息队列中取得消息信息的MSG结构的指针。
.返回值:
如果消息被转换(即,字符消息被送到线程的消息队列中),返回非零值。
如果消息是 WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, 或 WM_SYSKEYUP,返回非零值,不考虑转换。
如果消息没有转换(即,字符消息没被送到线程的消息队列中),返回值是零。
.备注:
TranslateMessage函数不修改由参数lpMsg指向的消息。
消息WM_KEYDOWN和WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。消息WM_SYSKEYDOWN和WM_SYSKEYUP组合产生一个WM_SYSCHAR或 WM_SYSDEADCHAR 消息。
TtanslateMessage仅为那些由键盘驱动器映射为ASCII字符的键产生WM_CHAR消息。
如果应用程序为其它用途而处理虚拟键消息,不应调用TranslateMessage函数。例如,如果TranslateAccelerator函数返回一个非零值,则应用程序将不调用TranslateMessage函数。
Windows CE:Windows CE不支持扫描码或扩展键标志,因此,它不支持由TranslateMessage函数产生的WM_CHAR消息中的lKeyData参数(lParam)16-24的取值。
TranslateMessage函数只能用于转换由GetMessage或PeekMessage函数接收到的消息。
转自http://www.builder.com.cn/2007/0928/527419.shtml
相关文章推荐
- MFC中消息循环处理的几个函数之间的区别
- Delphi中使用Win32 API创建内建消息循环的线程函数
- 消息循环中的TranslateMessage函数和DispatchMessage函数,特别注意WM_TIMER消息
- MFC消息循环中几个函数的差异
- MFC中消息循环处理的几个函数之间的区别
- MFC中消息循环处理的几个函数之间的区别
- 消息循环中的TranslateMessage函数和DispatchMessage函数
- [2008-04-09 14:32]在IDA Pro Plug-in中实现消息循环和调用外部函数
- 深入浅出MFC学习笔记1_GetMessage、PeekMessage、TranslateMessage、DispachMessage等等用法 消息循环中的TranslateMessage函数和Dis
- QT源码之QT创建窗口程序、消息循环和WinMain函数
- MFC中消息循环处理的几个函数之间的区别
- WinMain()函数和消息循环
- 消息循环中的TranslateMessage函数和DispatchMessage函数
- MFC中消息循环处理的几个函数之间的区别
- MFC中消息循环处理的几个函数之间的区别
- 消息循环中的TranslateMessage函数和DispatchMessage函数,特别注意WM_TIMER消息
- 消息循环中的TranslateMessage函数和DispatchMessage函数,特别注意WM_TIMER消息
- 应用程序通过消息循环来获得对消息的处理
- 控件自定义左键点击消息相应函数的问题(请懂的人来解答一下)
- 消息队列函数 msgsnd 出现Invalid argument错误的解决办法