1ループごとにラベルに表示するには?

解決


かむ  2003-07-25 13:37:15  No: 107884  IP: [192.*.*.*]

こんにちは1ループごとにラベルに表示させたいのですができません。再描画とかいう処理はありますか。なおAPIのDrawTextではできたのですが、どうしてもラベルでやりたいのでお願いします。

Private sub commond_Click
For i = 1 To 300
Label1 = i
For j = 1 To 1000000: Next j
Next i
End sub

このようにしても全ての処理が終わるまでラベルには表示されませんでした。
理想は1,2,3・・・300となるようにしたいです。

編集 削除
nanashi  2003-07-25 13:46:59  No: 107885  IP: [192.*.*.*]

> For j = 1 To 1000000: Next j

の代わりにDoEventsを発行する。

編集 削除
GOD  2003-07-25 13:46:59  No: 107886  IP: [192.*.*.*]

Refresh メソッドについて調べて下さい。

Private sub commond_Click
For i = 1 To 300
Label1 = i
Label1.Refresh       '追加
For j = 1 To 1000000: Next j
Next i
End sub

編集 削除
Say  2003-07-25 16:35:07  No: 107887  IP: [192.*.*.*]

空ループさせるとCPU時間を食いつぶしますので、
Sleep(API)を使うか、Timerイベントで
処理したほうがいいかもしれません。

編集 削除
かむ  2003-07-25 20:32:42  No: 107888  IP: [192.*.*.*]

どうもみなさまありがとうございます。refreshで出来ました。

編集 削除