プロが教えるわが家の防犯対策術!

VC++環境でWin32APIを使った開発に関する質問です。

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

A 回答 (2件)

★アドバイス


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

サンプル:
SendMessage( hWnd, EM_REPLACESEL, 0, 追加する文字列 );

参考URL:http://oshiete1.goo.ne.jp/qa2854941.html

この回答への補足

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

補足日時:2008/07/13 18:00
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/12 19:33

まずどうやって出力しているかが気がかりです。


コードを示してください。

この回答への補足

遅くなってしまって申し訳ございません。
現在は以下の形で出力しています。

SendMessage(hWnd, EM_SETSEL, end, end);
SendMessage(hWnd, EM_REPLACESEL, 0, str );

これ以外に何か良い方法がありますでしょうか?

補足日時:2008/06/12 19:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!