请输入您要查询的百科知识:

 

词条 死字元讯息
释义

Windows程式经常忽略WM_DEADCHAR和WM_SYSDEADCHAR讯息,但您应该明确地知道死字元是什么,以及它们工作的方式。

在某些非U.S.英语键盘上,有些键用于给字母加上音调。因为它们本身不产生字元,所以称之为“死键”。例如,使用德语键盘时,对于U.S.键盘上的+/=键,德语键盘的对应位置就是一个死键,未按下Shift键时它用于标识锐音,按下Shift键时则用于标识抑音。

当使用者按下这个死键时,视窗讯息处理程式接收到一个wParam等于音调本身的ASCII或者Unicode代码的WM_DEADCHAR讯息。当使用者再按下可以带有此音调的字母键(例如A键)时,视窗讯息处理程式会接收到WM_CHAR讯息,其中wParam等于带有音调的字母“a”的ANSI代码。

因此,使用者程式不需要处理WM_DEADCHAR讯息,原因是WM_CHAR讯息已含有程式所需要的所有资讯。Windows的做法甚至还设计了内部错误处理。如果在死键之后跟有不能带此音调符号的字母(例如“s”),那么视窗讯息处理程式将在一行接收到两条WM_CHAR讯息-前一个讯息的wParam等于音调符号本身的ASCII代码(与传递到WM_DEADCHAR讯息的wParam值相同),第二个讯息的wParam等于字母s的ASCII代码。

当然,要感受这种做法的运作方式,最好的方法就是实际操作。您必须载入使用死键的外语键盘,例如前面讲过的德语键盘。您可以这样设定:在“控制台”中选择“键盘”,然后选择“语系”页面标签。然后您需要一个应用程式,该程式可以显示它接收的每一个键盘讯息的详细资讯。下面的KEYVIEW1就是这样的程式。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 9:27:31