WM_DEADCHAR
chCharCode = (TCHAR) wParam; //字符代码
lKeyData = lParam; //关键数据
当TranslateMessage功能翻译WM_KEYUP消息时,WM_DEADCHAR消息将发送到具有键盘焦点的窗口。WM_DEADCHAR指定由死钥生成的字符代码。死钥是生成一个字符的键,例如与另一个字符组合以形成复合字符的变音符(双点)。例如,通过键入umlaut字符的死键,然后键入O键,生成umlaut-O字符()。
参数
【chCharCode】
价值【wParam中】.指定由死钥产生的字符代码。
【lKeyData】
价值【lParam的】.指定重复计数,扫描码,扩展密钥标志,上下文代码,先前的密钥状态标志和转换状态标志,如下表所示:
值 | 描述 |
0-15 | 指定重复计数。该值是由于用户按住键而重复键击的次数。 |
16-23 | 指定扫描码。价值取决于原始设备制造商(OEM)。 |
24 | 指定该键是否为扩展键,例如增强型101-或102键键盘上显示的右侧ALT和CTRL键。如果是扩展密钥,则该值为1;否则为0。 |
25-28 | Reserved; do not use. |
29 | 指定上下文代码。按住键时按住ALT键,值为1;否则为0。 |
30 | 指定以前的键状态。如果密钥在发送消息之前关闭,则该值为1,如果该键已经关闭,则该值为0。 |
31 | 指定转换状态。如果键被释放,则该值为1,如果按下该键,则该值为0。 |
返回值
处理此消息时,应用程序应返回零。
备注
WM_DEADCHAR消息通常由应用程序使用,以向用户提供关于按下的每个按键的反馈。例如,应用程序可以在当前字符位置显示重音,而不必移动插入符号。
由于按键和字符消息之间不一一对应,因此【lKeyData】参数的高位字中的信息通常对应用程序无用。高阶字中的信息仅适用于发布WM_DEADCHAR消息之前的最新WM_KEYDOWN消息。
对于增强的101-和102键键盘,扩展键是键盘主键上的右ALT和右CTRL键;集群中的INS,DEL,HOME,END,PAGE UP,PAGE DOWN和箭头键在数字键盘的左侧;和数字键盘中的除数(/)和ENTER键。一些其他键盘可能支持【lKeyData】参数中的扩展密钥位。
也可以看看