WM_IME_COMPOSITION訊息
當輸入法變更組合狀態作為按鍵結果時,傳送至應用程式。 視窗會透過其 WindowProc 函式接收此訊息。
LRESULT CALLBACK WindowProc(
HWND hwnd,
WM_IME_COMPOSITION,
WPARAM wParam,
LPARAM lParam
);
參數
-
hwnd
-
視窗的控制碼。
-
wParam
-
表示組合字元串最新變更的 DBCS 字元。
-
lParam
-
指定組合字元串或字元變更方式的值。 此參數可以是下列一或多個值。 如需這些值的詳細資訊,請參閱 輸入法組合字元串值。
-
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 視窗,它應該將此訊息傳遞至該視窗。 DefWindowProc函式會傳遞至預設的 IME 視窗來處理此訊息。 輸入法視窗會根據指定的變更旗標來更新其外觀,以處理此訊息。 應用程式可以呼叫 ImmGetCompositionString 來擷取新的組合狀態。
如果未設定任何GCS_值,則訊息表示已取消目前的組合,而且繪製組合字元串的應用程式應該刪除字串。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
標頭 |
|
另請參閱