IMESTRUCT 構造体 (ime.h)
SendIMEMessageEx によって使用され、入力メソッド エディター (IME) メッセージとそのパラメーターで実行されるサブ関数を指定します。 この構造体は、これらのサブ関数から戻り値を受け取るためにも使用されます。
構文
typedef struct tagIMESTRUCT {
UINT fnc;
WPARAM wParam;
UINT wCount;
UINT dchSource;
UINT dchDest;
LPARAM lParam1;
LPARAM lParam2;
LPARAM lParam3;
} IMESTRUCT, *PIMESTRUCT, *NPIMESTRUCT, *LPIMESTRUCT;
メンバー
fnc
サブ関数。 次のいずれかの値です。
IME_ENTERWORDREGISTERMODE
単語を登録するために使用されます。 単語は、単語とその読み取りを送信するアプリケーションとして登録されます。 構造体メンバーは、次のように解釈されます。
メンバー | 種類 | 説明 |
---|---|---|
lParam1 [Windows 3.1] | Lparam | 下位の単語は、0 で終わる単語文字列を含むグローバル メモリへのハンドルを指定します。 グローバル メモリは、GlobalAlloc 関数で GMEM_MOVEABLE フラグと GMEM_SHARE フラグを指定して割り当てられたメモリ ブロックです。 |
lParam2 [Windows 3.1] | Lparam | 下位ワードは、0 で終わる読み取り文字列を含むグローバル メモリへのハンドルを指定します。 グローバル メモリは、GlobalAlloc 関数で GMEM_MOVEABLE フラグと GMEM_SHARE フラグを指定して割り当てられたメモリ ブロックです |
lParam3 [Windows 3.1] | Lparam | NULL にする必要があります。 |
lParam1 [Windows NT] | Lparam | 0 で終わる単語文字列を含むグローバル メモリへのハンドルを指定します。 グローバル メモリは、GlobalAlloc 関数で GMEM_MOVEABLE フラグと GMEM_SHARE フラグを指定して割り当てられたメモリ ブロックです。 |
lParam2 [Windows NT] | Lparam | 0 で終わる読み取り文字列を含むグローバル メモリへのハンドルを指定します。 グローバル メモリは、GlobalAlloc 関数で GMEM_MOVEABLE フラグと GMEM_SHARE フラグを指定して割り当てられたメモリ ブロックです。 |
lParam3 [Windows NT] | Lparam | 音声の一部に関する情報を指定するために使用します。 このような情報は現在の Windows 仕様では指定できないため、ここでは NULL が設定されています。 |
戻り値は、単語登録の結果を示します。 登録 が正常に処理されている場合は TRUE。それ以外の場合は FALSE。
音声の一部などの情報が必要な場合は、ユーザーに入力を求めるダイアログ ボックスが表示されます。 NULL は、メンバー lParam1 と lParam2 で指定できます。この場合、ダイアログ ボックスの関連する入力フィールドには何も表示されません。
IME_GETCONVERSIONMODE
IME の現在の変換モードを取得します。 このサブプログラムはパラメーターを使用しません。
これは、 IME_GET_MODEと同じです。
IME_MODE_ALPHANUMERICから IME_MODE_NOCODEINPUT への組 み合わせとして、IME の現在の変換モードを返 します。 変換モードは次のとおりです。
変換モード | モード |
---|---|
IME_MODE_ALPHANUMERIC | 英数字 |
IME_MODE_KATAKANA | カタカナ |
IME_MODE_HIRAGANA | ひらがな |
IME_MODE_SBCSCHAR | 1 バイト文字 |
IME_MODE_DBCSCHAR | 2 バイト文字 |
IME_MODE_ROMAN | ローマ字 |
IME_MODE_NOROMAN | ローマ文字以外の文字 |
IME_MODE_CODEINPUT | コード入力 |
IME_MODE_NOCODEINPUT | コード以外の入力 |
IME_GET_MODE
IME_GETCONVERSIONMODEと同じです。
IME_MOVECONVERTWINDOW
IME_SETCONVERSIONWINDOWと同じです。
IME_SETCONVERSIONFONTEX
変換ウィンドウに表示される未確定の文字列を表示するために使用するフォント。 構造体メンバーは、次のように解釈されます。
メンバー | 種類 | 説明 |
---|---|---|
lParam1 [Windows 3.1] | Lparam | 下位ワードは、論理フォントを指定する LOGFONT 構造体を含むグローバル・メモリーへのハンドルを指定します。 グローバル メモリは、GlobalAlloc 関数で GMEM_MOVEABLE フラグと GMEM_SHARE フラグを指定して割り当てられたメモリ ブロックです。 NULL は システム フォントを示します。 |
lParam1 [Windows NT] | Lparam | 論理フォントを指定する LOGFONT 構造体を含むグローバル メモリへのハンドルを指定します。 グローバル メモリは、GlobalAlloc 関数で GMEM_MOVEABLE フラグと GMEM_SHARE フラグを指定して割り当てられたメモリ ブロックです。 NULL は システム フォントを示します。 |
このサブ関数には戻り値がありません。
IME_SETCONVERSIONFONTEXで指定されたフォントは、未確定の文字列を表示するためにのみ使用できます。
既定の位置に未確定の文字列を表示するには、システム フォントを使用します。 表示位置が既定の位置でなくなった場合は、前に指定したフォントを有効にします。
LOGFONT 構造体を含むグローバル メモリは、アプリケーションによって解放されます。
変換ウィンドウを現在表示している IME が IME_SETCONVERSIONFONTEX コマンドを受け取り、コマンド処理の結果として変換ウィンドウが変更された場合、IME は WM_IME_REPORT:IR_CHANGECONVERT メッセージを送信する必要があります。 IME_SETCONVERSIONFONTEXで指定されたフォントが IME で使用されているフォントと同じである場合は、このメッセージを送信しないでください。
IME_SETCONVERSIONMODE
IME の変換モードを設定します。 wParam メンバーは、次の値の 1 つ以上を指定します。
値 | 意味 |
---|---|
IME_MODE_ALPHANUMERIC | 英数字変換モード。 この値は、IME_MODE_KATAKANAまたはIME_MODE_HIRAGANAでは使用できません。 |
IME_MODE_KATAKANA | カタカナ変換モード。 この値は、IME_MODE_ALPHANUMERICまたはIME_MODE_HIRAGANAでは使用できません。 |
IME_MODE_HIRAGANA | ひらがな変換モード。 この値は、IME_MODE_ALPHANUMERICまたはIME_MODE_HIRAGANAでは使用できません。 |
IME_MODE_SBCSCHAR | 1 バイト文字変換モード。 このパラメーターは、IME_MODE_DBCSCHARでは使用できません。 |
IME_MODE_DBCSCHAR | 2 バイト文字変換モード。 このパラメーターは、IME_MODE_SBCSCHARでは使用できません。 |
IME_MODE_ROMAN | ローマ字変換モード。 このパラメーターは、IME_MODE_NOROMANでは使用できません。 |
IME_MODE_NOROMAN | ローマ文字以外の文字変換モード。 このパラメーターは、IME_MODE_ROMANでは使用できません。 |
IME_MODE_CODEINPUT | コード入力変換モード。 このパラメーターは、IME_MODE_NOCODEINPUTでは使用できません。 IME がコード入力モードでどのように動作するかは、特定の IME によって異なります。 |
IME_MODE_NOCODEINPUT | 非コード入力変換モード。 このパラメーターは、IME_MODE_CODEINPUTでは使用できません。 |
戻り値は、指定された変換モードが正常に設定されたかどうかを示します。 新しい変換モードが設定されている場合は、以前に有効だった変換モードの状態を返します。それ以外の場合は NULL。
IME_SETCONVERSIONWINDOW
IME の外接する四角形のサイズと位置、および変換ウィンドウの初期位置。 IME は、このサブ関数で指定された位置に未確定の文字列を表示します。
wParam メンバーは、次のいずれかの値を指定します。
値 | 意味 |
---|---|
MCW_DEFAULT | 変換ウィンドウを既定の位置 (通常は画面の下部) に表示します。
MCW_DEFAULT スタイルがIME_SETCONVERSIONWINDOW メッセージで指定されている場合、IME が既定の位置に変換ウィンドウを表示または描画するときに、IR_OPENCONVERT、IR_CHANGECONVERT、IR_FULLCONVERT、またはIR_CLOSECONVERTメッセージを送信してはなりません。 |
MCW_WINDOW | WM_CONVERTREQUESTまたはWM_CONVERTREQUESTEX メッセージの wParam パラメーターで指定されたウィンドウで、 lParam1 メンバーに指定された座標に変換ウィンドウを表示します。
lParam1 の値は、ウィンドウの左上隅に対する相対座標を示し、下位ワードは X 座標を表し、高位ワードは Y 座標を表します。 外接する四角形は、指定されたウィンドウのクライアントの四角形であり、かなから漢字への変換を呼び出す最も一般的な方法です。
IME_SETCONVERSIONWINDOW メッセージでMCW_WINDOW スタイルが指定されている場合、変換ウィンドウの状態が閉じてから開いている状態に変更された場合、IME はIR_OPENCOVERT メッセージを送信する必要があります。 変換ウィンドウの状態が開いている状態から閉じている状態に変更された場合、IME はIR_CLOSECONVERTメッセージを送信する必要があります。 ただし、例外があります。 詳細については、「IME_WINDOWUPDATE」を参照してください。 |
MCW_WINDOW |MCW_RECT | 外接する四角形が lParam2 メンバーと lParam3 メンバーによって指定される点を除き、MCW_WINDOWと同じです。 lParam2 メンバーは左上のポイントを指定し、lParam3 は右下の点を指定し、それぞれ X 座標を表す下位ワードと Y 座標を表す上位ワードを指定します。 座標は、ウィンドウの左上を基準にしています。 |
MCW_SCREEN |
lParam1 メンバーによって指定された左上隅を持つ変換ウィンドウを表示します。
lParam1 メンバーは、画面の左上隅にある原点との絶対座標を示します。 下位ワードは X 座標を表し、高次ワードは Y 座標を表します。 外接する四角形は全画面表示です。
IME_SETCONVERSIONWINDOW メッセージでMCW_SCREEN スタイルが指定されている場合、変換ウィンドウの状態がクローズからオープンに変更された場合、IME はIR_OPENCOVERTメッセージを送信する必要があります。 変換ウィンドウの状態が開いている状態から閉じている状態に変更された場合、IME はIR_CLOSECONVERTメッセージを送信する必要があります。 ただし、例外があります。 詳細については、「IME_WINDOWUPDATE」を参照してください。 |
MCW_SCREEN |MCW_RECT | 外接する四角形が lParam2 メンバーと lParam3 メンバーによって指定される点を除き、 MCW_SCREEN と同じです。 lParam2 メンバーは左上のポイントを指定し、lParam3 は右下の点を指定し、それぞれ X 座標を表す下位ワードと Y 座標を表す上位ワードを指定します。 座標は、画面左上の原点を持つ絶対座標です。 |
MCW_HIDDEN [Windows 3.1] | このフラグを指定すると、IME には変換ウィンドウは表示されません。 代わりに、アプリケーション自体に未確定の文字列が表示されます。
lParam1 メンバーは、アプリケーションまたは目的のポイントによって表示されるカーソル位置の座標を指定します。
lParam2 および lParam3 メンバーは、IME で表示が有効になっていないリージョンを指定します。 決定された文字列候補をポップアップ ウィンドウに表示する IME では、これらの情報を使用して、決定された文字列候補のウィンドウを表示する場所を決定できます。 候補文字列を表示するウィンドウは、システム ウィンドウと見なされます。 したがって、このようなウィンドウを表示するかどうか、ウィンドウを表示する場所と方法、使用するキーボード入力に関して、IME に依存します。 3 つのメンバー lParam1、 lParam2、および lParam3 は、画面の左上から絶対座標を指定し、それぞれ X 座標を表す下位ワードと Y 座標を表す高次ワードを指定します。
MCW_HIDDEN フラグを指定すると、IME はIR_UNDETERMINE メッセージを送信して、アプリケーションに未確定の文字列を表示するよう要求します。 アプリケーション自体には、このメッセージに含まれる未確定の文字列が表示されます。 MCW_HIDDEN フラグを指定すると、IME はIR_OPENCONVERT、IR_CHANGECONVERT、またはIR_CLOSECONVERTメッセージを送信しません。 アプリケーションがMCW_HIDDENを指定し、同時に、決定された文字列の候補ウィンドウを表示するには大きすぎる四角形を要求する場合は、エラーとして扱う必要があります。 エラー コードはIME_RD_TOOLONGする必要があります。 MCW_HIDDEN スタイルがIME_SETCONVERSIONWINDOW メッセージで指定されている場合、IME はIR_OPENCONVERT、IR_CHANGECONVERT、IR_FULLCONVERT、またはIR_CLOSECONVERTを送信してはなりません。 |
MCW_VERTICAL | アプリケーションが垂直方向の書き込み形式で文字列を表示していることを IME に伝えます。 このフラグを指定すると、変換ウィンドウが垂直書き込み用に表示され、 lParam1 メンバーによって指定された位置が右上隅になります。 このフラグは、MCW_WINDOW、MCW_WINDOW| で指定できます。MCW_RECT、MCW_SCREEN、またはMCW_SCREEN|MCW_RECT。 IME はMCW_VERTICALをサポートする必要があります。 MCW_VERTICALを指定し、選択されているフォントが垂直書き込み用でない場合、IME は既定の垂直書き込みフォントを使用します。 この既定のフォントは次のように作成されます。 |
戻り値は、コマンドが実行されたかどうかを示します。 コマンド の実行が成功した場合は TRUE。それ以外の場合は FALSE。
未定義の文字列が外接する四角形をオーバーフローしているように見える場合、IME はレポート メッセージ WM_IME_REPORT:IR_FULLCONVERTをアプリケーションに発行してから、その文字列を表示する必要があります。 アプリケーションがこのメッセージを処理しない場合、ディスプレイの後続の処理はこの仕様では定式化されませんが、IME に任されます。 たとえば、未定義の文字列は、外接する四角形内でスクロールするか、一時的に既定の位置に移動できます。
IME が未確定の文字列を保持しているときにIME_SETCONVERSIONWINDOW メッセージが呼び出された場合、IME は WM_IME_REPORT:IR_CLOSECONVERT メッセージを発行する必要があります。文字列がパラメーターとして指定されたウィンドウに収まる場合、IME は WM_IME_REPORT:IR_OPENCONVERT メッセージを発行する必要があります。 その場合にのみ、変換ウィンドウを描画する必要があります。 文字列がウィンドウに収まらない場合、IME は WM_IME_REPORT:IR_FULLCONVERT メッセージを発行する必要があります。
外接する四角形の位置は、物理的な画面領域の外側で指定できます。 外接する四角形全体が物理画面の外側にある場合は、未確定の文字列を表示することはできません。 外接する四角形の一部が物理画面の外側にある場合、IME は境界四角形をクリップして、未確定の文字列の一部が画面をオーバーフローしないようにし、表示開始位置も調整します。
変換ウィンドウに表示される最大文字数または最大文字数を設定しないことをお勧めします。
変換ウィンドウがシステム ウィンドウと重なる場合は、変換ウィンドウを表示する必要があります。 たとえば、変換ウィンドウにディスプレイの優先度を最も高くしたり、システム ウィンドウを別の場所に移動したりできます。
変換ウィンドウのサイズ、表示内容、または表示色が変更された場合、IME はIR_CHANGECONVERT メッセージを送信する必要があります。 ただし、未確定の文字列が指定されたウィンドウに収まらない場合、IME はIR_CHANGECONVERTではなくIR_FULLCONVERTメッセージを送信する必要があります。
IME がMCW_WINDOWモードまたはMCW_SCREEN モードからMCW_DEFAULTに移行した場合、未定義の文字列が存在する場合は、IR_CLOSECONVERT メッセージを送信する必要があります。
IME がMCW_WINDOWモードまたはMCW_SCREEN モードからMCW_HIDDENに移行した場合、未確定の文字列が存在する場合は、IR_CLOSECONVERT メッセージを送信する必要があります。
IME がMCW_HIDDEN モードからMCW_DEFAULT、MCW_SCREEN、またはMCW_WINDOWに移行した場合、IME は、未確定の文字列 = 0 と決定された文字列 = 0 のIR_UNDETERMINE メッセージを送信する必要があります。
IME_SETLEVEL
現在のアプリケーションで IME レベルを設定する韓国語固有のサブ関数。 wParam メンバーは、次のいずれかのレベル値を受け入れます。
レベル | 意味 |
---|---|
1 | IME はサポートされません。 すべての IME 固有のメッセージは無視されます。 |
2 | 部分的な IME のサポート。 コンポジションまたは候補ウィンドウの位置、入力モードまたは状態など、IME 動作のサブセットをサポートします。 |
3 | 完全な IME サポート。 |
IME_SETOPEN
IME のかなから漢字への変換機能の状態を設定します。
IME を開くには wParam メンバーを 0 以外に設定し、IME を閉じるには 0 を設定します
戻り値は、かなから漢字への変換機能の以前の状態を示します。 開いている場合 は TRUE を 返します。それ以外の場合は FALSE。
かなから漢字への変換機能がIME_SETOPENによって閉じられている場合は、未確定の文字列を決定しないでください。
かなから漢字への変換機能をIME_SETOPENで閉じる場合、IME がMCW_WINDOWモードまたは MCW-SCREEN モードで、変換ウィンドウが開いている場合、IME はIR_CLOSECONVERTメッセージを送信する必要があります。 ただし、IME がMCW_HIDDEN モードの場合、および未確定の文字列が存在する場合は、IR_CLOSECONVERTを発行する必要はありません。
IME_SET_MODEK
IME_SETCONVERSIONMODEの韓国語固有のバージョン。
wParam
使用法は、 fnc で指定されたサブ関数によって異なります。
wCount
使用法は、 fnc で指定されたサブ関数によって異なります。
dchSource
使用法は、 fnc で指定されたサブ関数によって異なります。
dchDest
使用法は、 fnc で指定されたサブ関数によって異なります。
lParam1
使用法は、 fnc で指定されたサブ関数によって異なります。
lParam2
使用法は、 fnc で指定されたサブ関数によって異なります。
lParam3
使用法は、 fnc で指定されたサブ関数によって異なります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | ime.h |
関連項目
概念
リファレンス