by もうダメ » 2006年9月25日(月) 17:34
次のような簡単なプログラムをRADツールを使って作ったとします。
Dim i As Long
For i=1 To 10000
SetWindowText(GetDlgItem(hMainWnd,Static1),Str$(i))
Next
SetWindowText(GetDlgItem(hMainWnd,Static1),"終了")
これを実行している最中に、一旦他のアプリケーション(例えばエクスプローラ)をアクティブにしたり、このプログラムのウィンドウを移動させたりすると、カウンタの表示が更新されなくなったり、ウィンドウが白くなったりするのを回避する方法はないでしょうか?
ループが終了すれば、正常なウィンドウに戻ります。
初心者なので、バカな質問をしているかもしれません。
UpdateWindowやInvalidateRect, RedrawWindow, Sleep等を試してみましたがダメでした。せっかく作ったカウンタやプログレスバーが意味をなさず困っています。お助け下さい。
次のような簡単なプログラムをRADツールを使って作ったとします。
Dim i As Long
For i=1 To 10000
SetWindowText(GetDlgItem(hMainWnd,Static1),Str$(i))
Next
SetWindowText(GetDlgItem(hMainWnd,Static1),"終了")
これを実行している最中に、一旦他のアプリケーション(例えばエクスプローラ)をアクティブにしたり、このプログラムのウィンドウを移動させたりすると、カウンタの表示が更新されなくなったり、ウィンドウが白くなったりするのを回避する方法はないでしょうか?
ループが終了すれば、正常なウィンドウに戻ります。
初心者なので、バカな質問をしているかもしれません。
UpdateWindowやInvalidateRect, RedrawWindow, Sleep等を試してみましたがダメでした。せっかく作ったカウンタやプログレスバーが意味をなさず困っています。お助け下さい。