改行コードの削除

[戻る]
oka 2005/04/05(火) 19:55:40
Windows XP 
VC++ 6.0

CEditView上で改行コードを挿入することは
できますが、カラムと一緒に
削除させる方法がわかりません。
SetSelで指定して削除してもカラムまで
削除されません。一行のカラム数を
調べてみても1カラム分多く残ってしまいます。
どなたかご教授お願い致します。

wood 2005/04/07(木) 05:47:44
質問文中で関数とわかるのは「SetSel」だけで、これは選択機能だけですよね
削除とは、どんなコーディングしてるのか、ソース提示したほうが良いと思います

考え方が合っていて、ちょっと足りないのか
全然間違っていて、トンチンカンなのか、回答者は文章だけから判断出来かねます

>カラムと一緒に削除させる方法がわかりません
「カラム」って桁位置のことだと思うのですが・・・

とおり 2005/04/07(木) 17:30:02
ベタな方法(ほかに思いつかなかった)

  keybd_event(VK_HOME, 0, 0, 0);
  keybd_event(VK_HOME, 0, KEYEVENTF_KEYUP, 0);

  keybd_event(VK_SHIFT, 0, 0, 0);
  keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
  keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
  keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

  keybd_event(VK_DELETE, 0, 0, 0);
  keybd_event(VK_DELETE, 0, KEYEVENTF_KEYUP, 0);

動作的にはこういうことをしたいということですか?

#keybd_eventはMSDN見ておいてください

REE 2005/04/07(木) 18:27:26
とおりさんの解釈でよければ、こんな感じかな?

SetSel(LineIndex(line), LineIndex(line+1));
ReplaceSel("");

古いスレッドには追加発言できません。