ImmSetCompositionStringA 関数 (imm.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
合成文字列、読み取り文字列、またはその両方を設定します。 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 を返します。

解説

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

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

アプリケーションが句情報を変更する場合、ターゲット句のみを変更でき、一度に 1 つの境界に影響します。 target 句には、属性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. IME が再変換の RECONVERTSTRING 構造体を調整できるように、ImmSetCompositionString をSCS_QUERYRECONVERTSTRINGで呼び出します。
  2. IME が新しいコンポジション文字列を生成できるように、SCS_SETRECONVERTSTRINGを使用して ImmSetCompositionString を呼び出します。 その後、 lpComplpRead は、更新されたコンポジションと読み取り文字列を含む RECONVERTSTRING 構造体を示します。 lpRead の値は、選択した IME にSCS_CAP_MAKEREAD設定されている場合にのみ使用します。

注意

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

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリのみ]、東アジア言語のサポートがインストールされています。
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー imm.h (Immdev.h、Windows.h を含む)
Library Imm32.lib
[DLL] Imm32.dll

関連項目

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

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

RECONVERTSTRING

WM_IME_COMPOSITION