死字符消息

【勇芳软件工作室】汉化HomePreviousNext

一些非英文键盘包含字符键,预期不会自动产生字符。相反,它们用于向随后的击键产生的角色添加变音符号。这些密钥称为【死钥匙】.德语键盘上的回旋键是一个死键的例子。要输入由“o”组成的字符与回旋键,德国用户将键入回旋键,然后键入“o”键。具有键盘焦点的窗口将收到以下消息序列:

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

TranslateMessage从死锁处理WM_KEYDOWN消息时生成WM_DEADCHAR消息。虽然WM_DEADCHAR消息的【wParam中】参数包含死钥的变音符的字符代码,但应用程序通常会忽略该消息。相反,它处理后续按键生成的WM_CHAR消息。WM_CHAR消息的【wParam中】参数包含具有变音符号的字母的字符代码。如果随后的按键生成不能与变音符组合的字符,Windows将生成两个WM_CHAR消息。第一个的【wParam中】参数包含变音符号的字符代码;第二个的【wParam中】参数包含后续字符键的字符代码。

WM_SYSDEADCHAR消息处理来自系统死锁(与ALT键一起按下的死锁)的WM_SYSKEYDOWN消息时,TranslateMessage功能将生成WM_SYSDEADCHAR消息。应用程序通常会忽略WM_SYSDEADCHAR消息。