HEADLINES

■ATOK技術情報
<ATOK12/ATOK11/ATOK10 for Windows
 アプリケーションプログラムインターフェース仕様書>


3.サンプル

3−1.未確定文字列表示をアプリケーション側で行う

#include "atoklib.h"

    case WM_IME_STARTCOMPOSITION:
     //(未)確定文字表示するための開始処理
       ..........
     return( 0 );

    case WM_IME_COMPOSITION:
     hIMC = ImmGetContext(hWnd);
     //(未)確定文字列更新情報を取得する
     AT_ImmGetAtCompositionPacket(hIMC,lParam,&ATOKCompositionPack);
     //カーソル位置情報をもとに次候補表示位置を通知する
     ImmSetCandidateWindow(hImc,..);
     ImmReleaseContext(hWnd, hIMC);
     //取得した(未)確定文字列情報を表示する
       ..........
     return( 0 );

    case WM_IME_ENDCOMPOSITION:
     //(未)確定文字表示するための終了処理
       ..........
     return( 0 );

3−2.未確定文字列表示はIMEに行わせる

#include "atoklib.h"

    case WM_IME_COMPOSITION:
     if ( lParam&GCS_RESULTSTR )
       {//確定文字列の出力があった
       hIMC = ImmGetContext(hWnd);
       //確定文字列更新情報を取得する
       AT_ImmGetAtCompositionPacket( hIMC, lParam,
         &ATOKCompositionPack );
       //取得した確定文字列情報を表示する
         ..........
       //未確定文字表示位置を通知する
       ImmSetCompositionWindow( hIMC,...);
       ImmReleaseContext(hWnd, hIMC);
       //確定文字列はここで処理した
       lParam &= ~( GCS_RESULTREADSTR |
           GCS_RESULTREADCLAUSE |
           GCS_RESULTSTR | GCS_RESULTCLAUSE );
       }
     return( DefWindowProc(hWnd, message, wParam, lParam) );


前ページ目 次次ページ



return



to topmenu

update 1998.12.2