当TranslateMessage功能转换对应于字符键的虚拟键代码时,窗口过程接收字符消息。字符消息是WM_CHAR,WM_DEADCHAR,WM_SYSCHAR和WM_SYSDEADCHAR.典型的窗口过程将忽略除WM_CHAR之外的所有字符消息。当用户按下以下任一键时,TranslateMessage功能会生成WM_CHAR消息。
*任何字符键
*BACKSPACE
* ENTER(回车)
*ESC
* SHIFT + ENTER(换行)
*TAB
当窗口过程收到WM_CHAR消息时,它应该检查消息附带的字符代码,以确定如何处理字符。字符代码位于消息的【wParam中】参数中。
以下示例显示了典型应用程序用于接收和处理字符消息的窗口过程框架。
case WM_CHAR:
开关(wParam){
case 0x08:
.
./ *处理退格*/
.
break;
case 0x0A:
.
./ *处理换行。*/
.
break;
case 0x1B:
.
./ *处理逃生。*/
.
break;
case 0x09:
.
./ *处理选项卡。*/
.
break;
case 0x0D:
.
./ *处理回车。*/
.
break;
默认:
.
./ *处理可显示的字符。*/
.
break;
}