name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> 函数功能:该函数将虚拟键消息转换为字符消息。字符消息被寄送到调用线程的消息队列里,当下一次线程调用函数GetMessage或PeekMessage时被读出。
函数原型:BOOL TranslateMessage(CONST MSG★lpMsg);
参数:
IpMsg:指向含有消息的MSG结构的指针,该结构里含有用函数GetMessage或PeekMessage从调用线程的消息队列里取得的消息信息。
返回值:如果消息被转换(即,字符消息被寄送到调用线程的消息队列里),返回非零值。如果消息是WM_kEYDOWN,WM_KEYUP WM_SYSKEYDOWN或WM_SYSKEYUP,返回非零值,不考虑转换。如果消息没被转换(即,字符消息没被寄送到调用线程的消息队列里),返回值是零。
备注:此函数不修改由参数IpMsg指向的消息。
WM_KEYDOWN和WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。
WM_SYSKEYDOWN和WM_SYSKEYUP组合产生一个SYSWM_CHAR或 WM_SYSDEADCHAR消息。TtanslateMessage为那些由键盘驱动器映射为ASCll字符的键产生WM_CHAR消息。
如果应用程序为其他用途处理虚拟键消息,不应调用TranslateMessage。例如,如果件ThranslateAccelerator返回一个非零值,应用程序不应调用TranslateMessage。
Windows CE:Windows CE不支持扫描码或扩展键标志,因此,不支持由TranslateMessage产生的WM_CHAR消息中的IKeyData参数(IParam)取值16-24。
TranslateMessage只能用于转换调用GetMessage或PeekMessage接收的消息。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。
函数原型:BOOL TranslateMessage(CONST MSG★lpMsg);
参数:
IpMsg:指向含有消息的MSG结构的指针,该结构里含有用函数GetMessage或PeekMessage从调用线程的消息队列里取得的消息信息。
返回值:如果消息被转换(即,字符消息被寄送到调用线程的消息队列里),返回非零值。如果消息是WM_kEYDOWN,WM_KEYUP WM_SYSKEYDOWN或WM_SYSKEYUP,返回非零值,不考虑转换。如果消息没被转换(即,字符消息没被寄送到调用线程的消息队列里),返回值是零。
备注:此函数不修改由参数IpMsg指向的消息。
WM_KEYDOWN和WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。
WM_SYSKEYDOWN和WM_SYSKEYUP组合产生一个SYSWM_CHAR或 WM_SYSDEADCHAR消息。TtanslateMessage为那些由键盘驱动器映射为ASCll字符的键产生WM_CHAR消息。
如果应用程序为其他用途处理虚拟键消息,不应调用TranslateMessage。例如,如果件ThranslateAccelerator返回一个非零值,应用程序不应调用TranslateMessage。
Windows CE:Windows CE不支持扫描码或扩展键标志,因此,不支持由TranslateMessage产生的WM_CHAR消息中的IKeyData参数(IParam)取值16-24。
TranslateMessage只能用于转换调用GetMessage或PeekMessage接收的消息。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。