• 締切済み

Win32APIでエディットボックスへの文字列表示を早くしたい

VC++環境でWin32APIを使った開発に関する質問です。 処理結果をエディットボックスにログとして出力させているのですが、このログが膨大になっていくと目に見えて処理が遅くなっていきます。 これを何とか高速に処理させたいのですが、何か方法はありますでしょうか? 現在、妥協策としてファイルに出力する方法も検討していますが、基本的には画面上に出力させたいと考えています。

みんなの回答

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★アドバイス ・EM_REPLACESELメッセージを使って文字列を追加できます。  これを使えばログを1行単位でエディット・ボックスに  出力できると思います。  なお、エディット・ボックスには範囲選択をしないように  して下さい。範囲選択しないとキャレット位置に挿入する  形になります。よってキャレット位置が常にテキストの  最終行に位置するようにすれば末尾に行単位でログ文字列が  追加されていきます。 ・詳しくは『参考URL』をどうぞ。 サンプル: SendMessage( hWnd, EM_REPLACESEL, 0, 追加する文字列 );

参考URL:
http://oshiete1.goo.ne.jp/qa2854941.html
shis
質問者

お礼

ご回答ありがとうございます。 残念ながら今私が行っている追加の仕方と同じのようで、それ以外に高速な処理があればと考えています。ほかに良いやり方はございませんでしょうか?

shis
質問者

補足

引き続き回答を募集しています。もし見かけられたらよろしくお願い致します。

回答No.1

まずどうやって出力しているかが気がかりです。 コードを示してください。

shis
質問者

補足

遅くなってしまって申し訳ございません。 現在は以下の形で出力しています。 SendMessage(hWnd, EM_SETSEL, end, end); SendMessage(hWnd, EM_REPLACESEL, 0, str ); これ以外に何か良い方法がありますでしょうか?

関連するQ&A