WM_IME_COMPOSITION消息
当输入法因击键而更改组合状态时,发送到应用程序。 窗口通过其 WindowProc 函数接收此消息。
LRESULT CALLBACK WindowProc(
HWND hwnd,
WM_IME_COMPOSITION,
WPARAM wParam,
LPARAM lParam
);
参数
-
hwnd
-
窗口的句柄。
-
wParam
-
表示组合字符串的最新更改的 DBCS 字符。
-
lParam
-
指定组合字符串或字符更改方式的值。 此参数可使用以下一个或多个值。 有关这些值的详细信息,请参阅 IME 组合字符串值。
-
GCS_COMPATTR
-
GCS_COMPCLAUSE
-
GCS_COMPREADSTR
-
GCS_COMPREADATTR
-
GCS_COMPREADCLAUSE
-
GCS_COMPSTR
-
GCS_CURSORPOS
-
GCS_DELTASTART
-
GCS_RESULTCLAUSE
-
GCS_RESULTREADCLAUSE
-
GCS_RESULTREADSTR
-
GCS_RESULTSTR
lParam 参数还可以具有以下一个或多个值。
值 含义 - CS_INSERTCHAR
在当前插入点插入 wParam 组合字符。 如果应用程序处理此消息,则应显示组合字符。 - CS_NOMOVECARET
请勿在处理消息时移动插入点位置。 例如,如果 IME 指定CS_INSERTCHAR和CS_NOMOVECARET的组合,则应用程序应在当前插入点位置插入指定的字符,但不应将插入点移动到下一个位置。 带有GCS_RESULTSTR的后续WM_IME_COMPOSITION消息将替换此字符。 -
返回值
此消息没有返回值。
备注
如果应用程序显示合成字符本身,则应处理此消息。 否则,它应将消息发送到 IME 窗口。
如果应用程序已创建 IME 窗口,则应将此消息传递到该窗口。 DefWindowProc 函数通过将消息传递到默认 IME 窗口来处理此消息。 IME 窗口通过根据指定的更改标志更新其外观来处理此消息。 应用程序可以调用 ImmGetCompositionString 来检索新的合成状态。
如果未设置任何GCS_值,则消息指示当前组合已取消,并且绘制组合字符串的应用程序应删除该字符串。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
另请参阅