共用方式為


ImmSetCompositionStringA 函式 (immdev.h)

設定組合和讀取字串的字元、屬性和子句。

語法

BOOL ImmSetCompositionStringA(
                 HIMC   unnamedParam1,
  [in]           DWORD  dwIndex,
  [in, optional] LPVOID lpComp,
  [in]           DWORD  dwCompLen,
  [in, optional] LPVOID lpRead,
  [in]           DWORD  dwReadLen
);

參數

unnamedParam1

[in] dwIndex

要設定的信息類型。 此參數可以有下列其中一個值。

價值 意義
SCS_SETSTR
設定組合字串、讀取字串或兩者。 至少其中一個 lpComplpRead 參數必須指出有效的字串。 如果任一字串太長,則輸入法會截斷它。
SCS_CHANGEATTR
設定組合字串、讀取字串或兩者的屬性。 至少有一個 lpComplpRead 參數必須指出有效的屬性陣列。
SCS_CHANGECLAUSE
設定組合字串、讀取字串或兩者之子句資訊。 至少有一個 lpComplpRead 參數必須指向有效的子句資訊陣列。
SCS_SETRECONVERTSTRING
Windows Me/98、Windows 2000、Windows XP: 要求 IME 使用指定的 RECONVERTSTRING 結構來重新轉換字串。
SCS_QUERYRECONVERTSTRING
Windows Me/98、Windows 2000、Windows XP: 要求輸入法調整 RECONVERTSTRING 結構。 然後,應用程式可以使用 SCS_SETRECONVERTSTRING,將調整的結構傳遞至此函式。 輸入法不會產生任何 WM_IME_COMPOSITION 訊息。

[in, optional] lpComp

緩衝區的指標,其中包含為組合字串設定的資訊,如 dwIndex 的值所指定,

[in] dwCompLen

即使指定了SCS_SETSTR,而且緩衝區包含 Unicode 字串,大小,以位元組為單位, 組合字串的資訊緩衝區也一樣。

[in, optional] lpRead

緩衝區的指標,其中包含要為讀取字串設定的資訊,如 dwIndex 的值所指定,。 應用程式可以將此參數設定為 NULL

[in] dwReadLen

讀取字串的信息緩衝區大小,以位元組為單位,即使已指定SCS_SETSTR,而且緩衝區包含 Unicode 字元串也一樣。

傳回值

如果成功,則傳回非零值,否則傳回 0。

言論

應用程式可以設定 lpComplpRead或兩者。 如果應用程式未指定 lpComp的值,則必須將此參數設定為 NULL,並將 dwCompLen 設定為 0。

當應用程式變更屬性時,子句中的所有字元都必須具有相同的屬性。 轉換的字元必須具有屬性ATTR_CONVERTED或ATTR_TARGET_CONVERTED。 未轉換的字元必須具有屬性ATTR_INPUT或ATTR_TARGET_NOTCONVERTED。

當應用程式變更子句資訊時,它只能變更目標子句,一次只會影響一個界限。 目標子句具有 屬性ATTR_TARGET_CONVERTED或ATTR_TARGET_NOTCONVERTED。

如需屬性的詳細資訊(ATTR_* 值),請參閱 組合字串

當輸入法完成變更時,它會將 WM_IME_COMPOSITION 訊息傳送給應用程式,以通知應用程式變更。

Windows Me/98、Windows 2000、Windows XP: SCS_*CONVERTSTRING 值用於重新轉換。 它們只能用於具有 SCS_CAP_SETRECONVERTSTRING 屬性的 IME。 應用程式會使用這些值,如下所示:

  1. 使用 SCS_QUERYRECONVERTSTRING 呼叫 ImmSetCompositionString,讓 IME 調整重新轉換 RECONVERTSTRING 結構。
  2. 使用 SCS_SETRECONVERTSTRING 呼叫 ImmSetCompositionString,讓 IME 產生新的組合字串。 之後,lpComplpRead 表示包含更新組合和讀取字串的 RECONVERTSTRING 結構。 只有在選取的輸入法已設定SCS_CAP_MAKEREAD時,才使用 lpRead 的值

注意

immdev.h 標頭會根據 UNICODE 預處理器常數的定義,將 ImmSetCompositionString 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式],已安裝東亞語言支援。
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 immdev.h (include Immdev.h, Windows.h)
連結庫 Imm32.lib
DLL Imm32.dll

另請參閱

Input Method Manager

Input Method Manager 函式

RECONVERTSTRING

WM_IME_COMPOSITION