TimothyQiu's Blog

keep it simple stupid

WM_IME_CHAR

分类:技术

于是又是一篇木有技术含量的笔记。

对于 Unicode 窗口,WM_IME_CHARWM_CHAR 没有区别,wParam 都是一个 WCHAR,即输入的字符。

对于非 Unicode (DBCS) 窗口,WM_IME_CHARwParam 即由输入法生成的一个字符。这个字符既有可能是单字节字符也有可能是双字节字符。如果是单字节字符,那么和 WM_CHAR 没什么区别;如果是一个双字节字符,那么 wParam 高 8 位为 Leading byte,低 8 位为 Continuation Byte。

所有经由输入法产生的字符都会产生 WM_IME_CHAR 消息而不是 WM_CHAR,但 DefWindowProc 会把 WM_IME_CHAR 转换为相应的一个或两个 WM_CHAR 消息。

例如:

Windows

添加新评论 »