未変換文字の削除,挿入 – プログラミング – Home

未変換文字の削除,挿入
 
通知
すべてクリア

[解決済] 未変換文字の削除,挿入


シルク法度
 シルク法度
(@シルク法度)
ゲスト
結合: 23年前
投稿: 14
Topic starter  

CRichEditCtrlのエディタを作成しています.

日本語モードで文字を入力して,未確定の状態の文字を
操作したいと思っています.

未確定の文字を取得するには,ImmGetCompositionString()
を使用すれば,できましたが,
未確定文字を削除したり,また,未確定文字を設定したり
するには,どうすればいいのか教えて下さい.
ImmSetCompositionString()を使えばいいような気がするんですが,
引数のlpComp とlpRead の意味が良く分かりません.

よろしくお願いします.


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

>引数のlpComp とlpRead の意味が良く分かりません。

と言うことなんですが、HELPで読んでみたがわからないと言うことなんでしょうか?
HELPを読む限りでは変換文字の変更をしたいのであれば、lpCompの方を使えば
いいような気がしますけれど。

HELPをまだ読んでいないようでしたら一読された方がよろしいと思います。
読まれた上での質問でしたらその旨、書いておかれたほうがよろしいかと思います。
私のように勘違いする人もいるでしょうから。

もし、既にコードを書いて試してみたがうまく行かないと言うことであれば、
そこまでかかれた方がよいと思います。


返信引用
シルク法度
 シルク法度
(@シルク法度)
ゲスト
結合: 23年前
投稿: 14
Topic starter  

解決したのでお知らせします.

まず,現在テキスト上に未変換状態で残っている
文字列を消すには以下の関数を呼びます.

ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0);

その後,新しく未変換文字を追加するには,以下の関数を呼びます.
ここで,CompBuf に追加する文字を指定しています.
今回,サイズは10にしているので,第四引数は,10 となります.

ImmSetCompositionString( hIMC,SCS_SETSTR,CompBuf, 10 ,NULL, 0 );

お騒がせしました.


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました