変換中文字列削除
以前にJavaScriptで和文入力をしようとしたときに、どうにもできなかったのがこれ。
制限時間が来たとき、変換中の文字列はその状態のまま確定したことになってしまう。これは、リッチエディットコントロールでも同じだったが、こちらはIMEの操作ができるので問題なく処理することが出来た。
毎パソの練習ソフトがそうなってるので、できなきゃ困る(笑
その他いろいろと試してみた
HIMC hIMC = ImmGetContext(hWnd); if(hIMC){ char str[100]; DWORD ss[100]; long i,j,k; ImmSetOpenStatus(hIMC, TRUE); //変換中の文字列 i = ImmGetCompositionString(hIMC,GCS_COMPSTR,str,100); str[i] = '\0'; TRACE("%s\n",str); //変換中の文字列の長さ j = ImmGetCompositionString(hIMC,GCS_COMPREADCLAUSE,ss,100); j /= sizeof(DWORD); for(k=0;k<j;k++) TRACE("%ld\n",ss[k]); //変換文字列中のカーソルの位置 TRACE("%d\n",ImmGetCompositionString(hIMC, GCS_CURSORPOS, NULL, 0)); //入力中の文字列削除 ImmNotifyIME(hIMC,NI_COMPOSITIONSTR,CPS_CANCEL,0); ImmReleaseContext(m_rich.m_hWnd, hIMC); }