TranslateMessage(msg); WINAPI
TranslateMessage(&msg);
TranslateMessage是用来把快捷键消息转换为字符消息,并将转换后的新消息投递到调用线程的消息队列中。
由于Windows对所有键盘编码都是采用虚拟键的定义,这样当按键按下时,并不得字符消息,需要键盘映射转换为字符的消息。字符消息被投递到调用线程的消息队列中,当下一次调用GetMessage函数时被取出。当我们敲击键盘上的某个字符键时,系统将产生WM_KEYDOWN和WM_KEYUP消息。这两个消息的附加参数( wParam和 lParam)包含的是 虚拟键代码和扫描码等信息,而 我们在程序中往往需要得到某个字符的ASCII码,TranslateMessage这个函数就可以将WM_KEYDOWN和WM_ KEYUP消息的组合转换为一条WM_CHAR消息(该消息的wParam附加参数包含了字符的ASCII码),并将转换后的新消息投递到调用线程的消息队列中。注意,TranslateMessage函数并不会修改原有的消息,它只是产生新的消息并投递到消息队列中。
也就是说TranslateMessage会发现消息里是否有字符键的消息,如果有字符键的消息,就会产生WM_CHAR消息,如果没有就不会产生什么消息。
函数TranslateMessage声明如下:
WINUSERAPI
BOOL
WINAPI
TranslateMessage(
__in CONST MSG *lpMsg);
lpMsg是检查需要转换的消息。
TranslateMessage(msg); WINAPI相关推荐
- 十五: TranslateMessage(msg) 函数 和DispatchMessage(msg)函数
TranslateMessage函数将虚拟键消息转换为字符消息.字符消息被寄送到调用线程的消息队列里,当下一次线程调用函数GetMessage或PeekMessage时被读出. TranslateMe ...
- DotNet4应用程序打包工具(把DotNet4安装程序打包进你的应用程序;WINAPI开发,无dotNet环境也可顺利执行)【一】整体思路...
先说废话 很多朋友对我写的这个系列的第五篇比较感兴趣:http://www.cnblogs.com/liulun/archive/2011/12/08/2280110.html 因为我承诺第五篇就公布 ...
- Visual C++——加速键
基本概念 加速键:用户在键盘上按下了定义的加速键也将产生相应的命令消息. 什么是键盘加速键?加速键是产生WM_COMMAND消息(有些情况下是WM_SYSCOMMAND)的键组合.许多时候,程序使用加 ...
- VC实现微秒(十万分之一秒)休眠
VC自带的SDK中为我们提供了一个Sleep函数,此函数的最小单位为毫秒(既千分之一秒):但在实际的应该中(特别是网络数据传输)我们需要更小的休眠单位(微秒),而系统又没有提供相关API,那么我们如何 ...
- TranslateMessage ,GetMessage, DispatchMessage分析
TranslateMessage(&msg); TranslateMessage是用来把快捷键消息转换为字符消息,并将转换后的新消息投递到调用线程的消息队列中. 由于Windows对所有键盘编 ...
- 绘图;BeginPaint;PAINTSTRUCT(ps);SetArcDirection函数改变弧线的方向;LineDDA函数
转自:http://blog.csdn.net/tcjiaan/article/details/8533358 BeginPaint HDC BeginPaint( HWND hwnd, // 窗口的 ...
- GetMessage TranslateMessage DispatchMessage 和PeekMessage
文章目录 GetMessage 函数功能 函数声明 第一个参数 第二个参数 第三个参数 第四个参数 返回值 补充: TranslateMessage 函数功能 函数声明 第一个参数: 返回值 补充 D ...
- C++-Windows消息循环GetMessage/TranslateMessage/DispatchMessage
1.windows消息循环 if (GetMessage(&msg, NULL, 0, 0)) {TranslateMessage(&msg); //消息转化DispatchMessa ...
- MFC 消息处理 PeekMessage TranslateMessage DispatchMessage
http://blog.csdn.net/linlingzhao/article/details/7517951 由 arain 于 星期二, 11/02/2010 - 10:44 发表 MSG me ...
最新文章
- SAP ABAP BAPI_GOODSMVT_CREATE的几个应用
- Java String split 使用详解、split 方法存在的一些坑
- 4键电子手表说明书_电子手表怎么调(电子手表的四个键的功能各是什么)
- PHP文件包含漏洞原理分析和利用方法
- css--block formatting context
- 【剑指offer】面试题35:复杂链表的复制(Java)
- 送书 | 师妹越多,团队集体智慧越高,当占比80%时,达到巅峰
- spring-boot spring-security-oauth2
- 著名设计师的标志(Logo)设计观
- SQL:pgsql中查询一段时间内数据及相关时间操作
- Netperf 网络性能测试
- oracle普通索引改唯一索引,Oracle唯一索引功能替代
- apache ab压测与参数传递
- 天正对应cad版本_天正建筑t20适用哪个版本cad
- python气象卫星云图解析_python下载卫星云图合成gif的方法示例
- 贝叶斯法则的举例分析
- maven 加入第三方库_maven 手动添加第三方的jar包
- Visual Studio 2017下载地址和安装教程(图解版)
- 国产类 postman 软件推荐给你~
- hua图软件 mac_mac系统有画图工具吗|mac电脑把预览变成画图工具方法