• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC++2010のエディットボックスの出力について)

VC++2010のエディットボックスの出力について

このQ&Aのポイント
  • VC++2010のエディットボックスの出力について質問させていただきました。
  • データを毎秒受信するプログラムを作成しており、受信したデータをエディットボックスに表示したいです。
  • しかし、受信データを改行する方法がわかりません。改行されずに上書きされてしまいます。改行させる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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さんがおっしゃるようにリストボックスやリストビューなどを使用するのが良いです。

その他の回答 (3)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

受信したデータの 編集が必要なのでしょうか? 必要がないのであれば データを表示するコントロールを ListBoxにしてしまうという選択肢もありますが …

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.2

szRecv = szRecv +"\r\n" + "9_27_23.4_33.00" としてみては?

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.1

エディットボックス のプロパティーの Multiline は TRUE になっていますか?

hanyu-yuugo
質問者

補足

はい、TRUEになってましたけど  改行されませんでした

関連するQ&A

専門家に質問してみよう