ImmNotifyIME

機能
入力コンテキストのステータスが変化したことをIMEに通知する
Declare Function ImmNotifyIME Lib "imm32.dll" _
(ByVal hIMC As Long, ByVal dwAction As Long, _
ByVal dwIndex As Long, ByVal dwValue As Long) As Long
Declare Function ImmNotifyIME Lib "imm32.dll" _
(ByVal hIMC As Integer, ByVal dwAction As Integer, _
ByVal dwIndex As Integer, ByVal dwValue As Integer) As Integer

BOOL ImmNotifyIME(
HIMC hIMC,
DWORD dwAction,
DWORD dwIndex,
DWORD dwValue
);
引数
hIMC

入力コンテキストのハンドル(ImmGetContext()関数の戻り値)
dwAction
通知コードを示す定数の一つ
dwIndex
候補リストのインデックス
  dwActionがNI_COMPOSITIONSTRのとき、定数のうち一つ
dwValue
dwActionの設定に応じて指定する値
戻り値
正常終了のとき                       0以外
エラーのとき                         0
備考
この関数はIME自身がユーザーの操作に応じて通知メッセージを発行するために使う関数で
アプリケーションから使うことはほとんどない。「ページサイズ」とはページに表示する項目数。
dwActionの定数

NI_CHANGECANDIDATELIST = &H13                     現在選択している候補を変更した
                                                   (dwIndex:変更リストのインデックス
                                                   dwValue:使わない)
NI_CLOSECHANDIDATE = &H11                         候補リストをクローズした
                                                   (dwValue:使わない)
NI_COMPOSITIONSTR = &H15                          変換文字列を操作する
                                                   (具体的な操作はdwIndexで指定する)
NI_IMEMENUSELECTED = &H18                         指定のメニューのハンドル
                                                   (dwIndex:メニューID
                                                   dwValue:アプリケーション定義の値)
NI_OPENCANDIDATE = &H10                           候補リストをオープン
NI_SELECTCANDDATESTR = &H12                       候補の一つを選択した
                                                   (dwIndex:候補リストのインデックス
                                                   dwValue:選択した単語のインデックス)
NI_SETCANDIDATE_PAGESIZE = &H17                   候補リストのページサイズを変更した
                                                   (dwValue:0〜31の数値)
NI_SETCANDIDATE_PAGESTART = &H16                  候補リストを設定した
                                                   (dwIndex:候補リストを指定する0〜31の値)
dwIndexの定数

CPS_CANCEL = &H4                                  変換文字列をクリアする
CPS_COMPLETE = &H1                                変換文字列を確定文字にする
CPS_CONVERT = &H2                                 次の候補に変換する
CPS_REVERT = &H3                                  変換文字列を取り消し、確定前に戻す