- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC++2010のエディットボックスの出力について)
VC++2010のエディットボックスの出力について
このQ&Aのポイント
- VC++2010のエディットボックスの出力について質問させていただきました。
- データを毎秒受信するプログラムを作成しており、受信したデータをエディットボックスに表示したいです。
- しかし、受信データを改行する方法がわかりません。改行されずに上書きされてしまいます。改行させる方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
CStringが使われているということから、MFCを使っているということでよいでしょうか。 ダイアログクラスの中でどのようにエディットボックスに反映していますか? MFCでは大きく分けて、DDXによる方法と、直接GetWindowText()/SetWindowText()を使う方法があります。DDXの場合は UpdateData(TRUE); でデータを画面からDDX変数(例えばCString型メンバ変数 m_history)に取得し、変数を m_history = m_history +"\r\n" + szRecv; のように更新した上で、 UpdateData(FALSE); を呼び出してDDX変数の内容を画面コントロールに反映させます。 DDXを使わない方法では、エディットコントロール(例えばCEdit型メンバ変数 m_edit)に対して CString history; m_edit.GetWindowText(history); history = history +"\r\n" + szRecv; m_edit.SetWindowText(history); とします。 ただし、単に履歴の表示のみで編集する必要がないのであれば、redfox63さんがおっしゃるようにリストボックスやリストビューなどを使用するのが良いです。
補足
はい、TRUEになってましたけど 改行されませんでした