自作関数からのテキストウィンドウ更新

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ゴンザレス

自作関数からのテキストウィンドウ更新

#1

投稿記事 by ゴンザレス » 14年前

GetWindowText(hWndCode,old,10240);
sprintf(hits,"%s\r\n%s",new,old);
SetWindowText(hWndCode,new);
Sleep(100);

自作関数からテキストウィンドウを更新したいのですが、更新されません。
SetTimerを使えばうまくいきますが、再起関数ですのでできればこの関数内で更新させたいのですが
うまく更新させるにはどのようにしたらよろしいでしょうか?

ゴンザレス

Re: 自作関数からのテキストウィンドウ更新

#2

投稿記事 by ゴンザレス » 14年前

ちなみにSetWindowTextの前にMessageBoxでクッションを作ってあげると正常に更新はされました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 自作関数からのテキストウィンドウ更新

#3

投稿記事 by softya(ソフト屋) » 14年前

ウィンドウの再描画が起こらないからだと思いますが、0.1秒ごとに再描画をするのもどうかとは思います。

【追記】
WM_PAINTメッセージをPostしてみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ゴンザレス

Re: 自作関数からのテキストウィンドウ更新

#4

投稿記事 by ゴンザレス » 14年前

ありがとうございます。
無事に更新することができました。

それと、更新後に一つ問題が発生したのですが、
再起している関数を強制的に停止させる方法はないのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 自作関数からのテキストウィンドウ更新

#5

投稿記事 by softya(ソフト屋) » 14年前

スレッドで回っているならvolatileな変数で強制停止フラグを作るしか無いでしょう。
もし、単にぐるぐる回しているならスレッドに組み替えて下さい。Windowsアプリとして色々まずいです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る