エディットボックス内のテキストを改行するには?

解決


初心者  2006-04-28 01:49:50  No: 61483

こんにちはVC++を勉強し始めて3ヶ月の初心者です
早速質問ですが、プッシュボタンを作成しそれが押されると
エディットボックス内で表示される文字列を改行しながら表示したいのですがいい方法が思い浮かびません
例として以下のように表示したいのです。

(プッシュボタンを一回押す)
=========(エディットボックス内)=====



==========================

また以下のようなコードで作成しました
エディットボックスの設定は、改行、複数行にチェックを入れています

SetDlgItemText(IDC_EDIT1,"1\r\n");
UpdateData( FALSE);
SetDlgItemText(IDC_EDIT1,"2\r\n");
UpdateData( FALSE);
SetDlgItemText(IDC_EDIT1,"3\r\n");
UpdateData( FALSE);

間違いや勘違い改善点などがありましたら、教えていただけないでしょうか?
よろしくお願いします。


Blue  2006-04-28 01:59:50  No: 61484

上記の方法は追記ではありません。上書きです。
一度テキストボックスの文字列を取得してから、追加するようにするか
SetSel+ReplaceSelで追加してください。

CEdit* pEdit = this->GetDlgItem( IDC_EDIT1 );
const int end = pEdit->GetWindowTextLength(); // 現在の文字列長
pEdit->SetSel( end, end ); // 一番最後に持ってくる
pEdit->ReplaceSel( "1\r\n" );


Blue  2006-04-28 02:01:52  No: 61485

あ、キャストまた忘れた。
> CEdit* pEdit = this->GetDlgItem( IDC_EDIT1 );
CEdit* pEdit = ( CEdit* )this->GetDlgItem( IDC_EDIT1 );

# 元ネタは http://madia.world.coocan.jp/cgi-bin/Vcbbs/wwwlng.cgi?print+200604/06040031.txt
# でしたので。


初心者  2006-04-28 04:31:09  No: 61486

ありがとうございました
無事解決しました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加