更新时间:2024-05-21 15:10
字元讯息是利用位移状态资讯把按键讯息翻译为字元讯息的方法。
仅利用转换状态资讯还不够,因为还需要知道与国家/地区有关的键盘配置。由于这个原因,您不应该试图把按键讯息翻译为字元代码。Windows会为您完成这一工作,在前面我们曾看到过以下的程式码:
while (GetMessage (&msg, NULL, 0, 0))
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
这是WinMain中典型的讯息回圈。GetMessage函式用伫列中的下一个讯息填入msg结构的栏位。DispatchMessage以此讯息为参数呼叫适当的视窗讯息处理程式。
在这两个函式之间是TranslateMessage函式,它将按键讯息转换为字元讯息。如果讯息为WM_KEYDOWN或者WM_SYSKEYDOWN,并且按键与位移状态相组合产生一个字元,则TranslateMessage把字元讯息放入讯息伫列中。此字元讯息将是GetMessage从讯息伫列中得到的按键讯息之后的下一个讯息。