TranslateMessage

TranslateMessage

TranslateMessage是一種函數功能,即將虛擬鍵消息轉換為字元消息。

TranslateMessage 函數功能


函數功能:該函數將虛擬鍵消息轉換為字元消息。字元消息被寄送到調用線程的消息隊列里,當下一次線程調用函數GetMessage或PeekMessage時被讀出。
函數原型:BOOL TranslateMessage(CONST MSG★lpMsg);

TranslateMessage 參數


參數:
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。