当IME由于键冲击而改变组合状态时,WM_IME_COMPOSITION消息被发送到应用程序。应用程序应该处理此消息,如果它显示组合字符本身。否则,它应该将消息发送到IME窗口。
chDBCS = (WORD) wParam;
fFlags = (BOOL) lParam;
参数
【chDBCS】
表示组合字符串最近更改的DBCS字符。
【FFLAGS】
更改标志,指示组合字符串或字符如何更改。此参数可以是以下值中的一个或多个:
GCS_COMPSTR | GCS_SETCURSORPOS |
GCS_COMPATTR | GCS_RESULTSTR |
GCS_COMPCLAUSE | GCS_RESULTCLAUSE |
GCS_COMPREADSTR | GCS_RESULTREADSTR |
GCS_COMPREADATTR | GCS_RESULTREADCLAUSE |
GCS_COMPREADCLAUSE | GCR_ERRORSTR |
GCS_TYPINGINFO | GCR_INFOSTR |
返回值
无返回值。
备注
有关这些值的更多信息,请参阅输入法编辑器常量中的“IME Composition String Values”表。
【FFLAGS】参数也可以是以下值的组合:
值 | 含义 |
CS_INSERTCHAR | 指定在当前插入点处插入给定的组合字符。如果处理此消息,应用程序应显示组合字符。 |
CS_NOMOVECARET | 指定应用程序不得移动处理消息的结果的插入符号位置。例如,如果IME指定了CS_INSERTCHAR和CS_NOMOVECARET的组合,则应用程序应在当前插入位置插入给定的字符,但不应将插入符移动到下一个位置。随后使用GCS_RESULTSTR的WM_IME_COMPOSITION消息将替换此字符。 |
如果应用程序创建了一个IME窗口,它应该将该消息传递给该窗口。DefWindowProc函数通过将其传递给默认IME窗口来处理此消息.IME窗口通过根据给定的更改标志更新其外观来处理此消息。应用程序可以调用ImmGetCompositionString来检索新的构图状态。
如果没有设置GCS_值,则该消息指示当前组合已被取消,并且绘制组合字符串的应用程序应删除该字符串。
也可以看看