現在コンソールアプリから
MFCのプログラムに変更しています。
コンソールアプリでは、
printf("test");
と書くとコマンドプロンプトにデバック文が表示されるのですが、
MFCのボックス(CListBoxなど)にこの表示をだしたいのですが、
うまくいきません。
そのprintfは別スレッド(_beginthreadを使ってます)でうごいています。
また、大量にデバック文がでるので、コマンドプロンプトと同じように
行数が決まっていて、古い行から勝手に消えていくようにしたいです。
初歩的に質問ですいません。
どなたか教えてください。よろしくお願いします。
単に実行ログが取れればそれでよい、ということであれば
TRACE() とか OutputDebugString() とか。
わざわざ自アプリで取り込む必要は無いと思う。
その表示をどうしてもデバック文として
画面出力をしたいので、自アプリに取り込みたいのです。
デバック文という書き方がよくなかったのかもしれません。
画面出力したい文字列をCListBoxなどの中に表示したいのです。
よろしくお願いします。
すいません。↑名前が切れてしまいました。
申し訳ございません。
>> そのprintfは別スレッド(_beginthreadを
MFC なら AfxBeginThread() じゃないとダメじゃななかった?
>> TRACE() とか OutputDebugString() とか。
普通これですよね。
でも、Release版でも出したいなど、自前で持ちたいこともありますね。
そうすると CListBox なら、1行追加して、
1行削除するしかないし、マルチラインの CEdit にしても
同じですね。
UpdateData(TRUE)
CString csAdd;
csAdd.Format("....\r\n",....)
m_csEdit += csAdd;
int pos;
if(( pos = m_csEdit.Find( "\r\n" )) >= 0 )
{
m_csEdit.Delete( 0, pos+2 );
}
UpdateData(FALSE);
こんなところでしょうか。
>> MFC なら AfxBeginThread() じゃないとダメじゃななかった?
_beginthreadで問題なく動くように見えています。
1行ごとにがんばってやりたいと思います。
ありがとうございました。
>> MFC なら AfxBeginThread() じゃないとダメじゃななかった?
> _beginthreadで問題なく動くように見えています。
「問題なく動いている」のと「問題なく動いているように見える」のは別ですので、くれぐれもご注意を。
意地悪く言えば、なぜ _beginthread を使うのですか?
CreateThread でも「問題なく動いているように見えればいい」のであれば、それでいいんでは?
ツイート | ![]() |