次の方法で共有


ImmSetCompositionStringW 関数 (immdev.h)

コンポジション文字列と読み取り文字列の文字、属性、句を設定します。

構文

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

パラメーター

unnamedParam1

[in] dwIndex

設定する情報の種類。 このパラメーターには、次のいずれかの値を指定できます。

価値 意味
SCS_SETSTR
合成文字列、読み取り文字列、またはその両方を設定します。 lpComp パラメーターと lpRead パラメーター 少なくとも 1 つは、有効な文字列を示す必要があります。 いずれかの文字列が長すぎると、IME によって切り捨てられます。
SCS_CHANGEATTR
コンポジション文字列、読み取り文字列、またはその両方の属性を設定します。 lpComp パラメーターと lpRead パラメーターの少なくとも 1 つが、有効な属性配列を示している必要があります。
SCS_CHANGECLAUSE
コンポジション文字列、読み取り文字列、またはその両方の句情報を設定します。 lpComp および lpRead パラメーター 少なくとも 1 つは、有効な句情報配列を指している必要があります。
SCS_SETRECONVERTSTRING
Windows Me/98、Windows 2000、Windows XP: RECONVERTSTRING 構造体を指定 使用して文字列を再変換するように IME に依頼します。
SCS_QUERYRECONVERTSTRING
Windows Me/98、Windows 2000、Windows XP: RECONVERTSTRING 構造 調整するように IME に依頼します。 その後、アプリケーションは、SCS_SETRECONVERTSTRINGを使用して、調整された構造をこの関数に渡すことができます。 IME では、WM_IME_COMPOSITION メッセージは生成されません。

[in, optional] lpComp

dwIndexの値で指定された、コンポジション文字列に設定する情報を含むバッファー ポインター。

[in] dwCompLen

SCS_SETSTRが指定されていて、バッファーに Unicode 文字列が含まれている場合でも、コンポジション文字列の情報バッファーのサイズ (バイト単位)。

[in, optional] lpRead

dwIndexの値で指定された読み取り文字列に設定する情報 含むバッファーへのポインター。 アプリケーションでは、このパラメーターを NULL設定できます。

[in] dwReadLen

SCS_SETSTRが指定され、バッファーに Unicode 文字列が含まれている場合でも、読み取り文字列の情報バッファーのサイズ (バイト単位)。

戻り値

成功した場合は 0 以外の値を返し、それ以外の場合は 0 を返します。

備考

アプリケーションは、lpComp、lpRead、またはその両方 設定できます。 アプリケーションで lpCompの値が指定されていない場合は、このパラメーターを NULL に設定し、dwCompLen 0 に設定する必要があります。

アプリケーションで属性を変更する場合、句内のすべての文字は同じ属性を持つ必要があります。 変換される文字には、属性ATTR_CONVERTEDまたはATTR_TARGET_CONVERTEDが必要です。 変換されていない文字には、属性ATTR_INPUTまたはATTR_TARGET_NOTCONVERTEDが必要です。

アプリケーションが句情報を変更する場合、ターゲット句のみを変更でき、一度に 1 つの境界に影響を与えます。 ターゲット句には、属性ATTR_TARGET_CONVERTEDまたはATTR_TARGET_NOTCONVERTEDがあります。

属性 (ATTR_* 値) の詳細については、「コンポジション文字列を参照してください。

IME は変更を完了すると、WM_IME_COMPOSITION メッセージをアプリケーションに送信して、変更を通知します。

Windows Me/98、Windows 2000、Windows XP: SCS_*CONVERTSTRING 値は、再変換に使用されます。 SCS_CAP_SETRECONVERTSTRING プロパティを持つ IME にのみ使用できます。 アプリケーションでは、次のようにこれらの値が使用されます。

  1. ImmSetCompositionString をSCS_QUERYRECONVERTSTRINGで呼び出して、IME が再変換の RECONVERTSTRING 構造体を調整できるようにします。
  2. SCS_SETRECONVERTSTRING ImmSetCompositionString を呼び出して、IME が新しいコンポジション文字列を生成できるようにします。 その後、lpComp を し、lpRead 、更新されたコンポジションと読み取り文字列を含む RECONVERTSTRING 構造体を示します。 選択した IME 設定されている場合にのみ、lpRead の値SCS_CAP_MAKEREAD使用します。

手記

immdev.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして ImmSetCompositionString を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]、東アジア言語のサポートがインストールされています。
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー immdev.h (Immdev.h、Windows.h を含む)
ライブラリ Imm32.lib
DLL Imm32.dll

関連項目

入力メソッド マネージャーの

入力メソッド マネージャー関数の

RECONVERTSTRING の

WM_IME_COMPOSITION