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 [仅限桌面应用]
标头
Winuser.h (包括 Windows.h) ;
Imm.h (包括 Windows.h)

另请参阅

输入法管理器

输入法管理器消息

ImmGetCompositionString