カーソル位置を指定して文字列を入力 – プログラミング – Home

カーソル位置を指定して文字列を入力
 
通知
すべてクリア

[解決済] カーソル位置を指定して文字列を入力


hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

いつもお世話になってます。
今回も初歩的な質問かもしれませんがよろしくお願いいたします。
開発環境はwindows2000 VC++6.0 SDI です。

今回は、
dlg上にあるボタンを押したらEditBoxに入っている文字列を別のRichEditBoxに出力する
というプログラムを作っています。

それを少し改良をしようと思いまして、RichEditBoxにあらかじめ文字列が入っていた場
合、カーソル位置に文字列を入力したいと考えています。
例えば入力したい文字列「ab」があり、RichEditBoxには文字列「cdef」があらかじめ
入っています。カーソル位置がdとeの間にあったとすると、ボタンを押すとRichEditBox
には「cdabef」というふうに表示させたいのです。

カーソル位置の取得はCEdit::GetSel()でできると考えたのですが、
位置を取得した後にそれをどのように使えばいいのかがわかりません。

どなたかアドバイスなどありましたらよろしくお願いいたします。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

ReplaceSelでできます。


返信引用
hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

dairygoodsさんありがとうございます。

ReplaceSel関数を使い、以下のようにしたらうまく動きました。

 int m_Start,m_End;
CEdit* m_Edit = (CEdit*)GetDlgItem(IDC_RICHEDIT);//文字列を挿入するRichEditBoxのID
m_Edit->GetSel(m_Start,m_End);          //カーソル位置の取得
m_Edit->ReplaceSel(文字列);          //カーソル位置に「文字列」を挿入

どうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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