タイマーについて

解決


みけ  2008-06-06 21:16:00  No: 139845

環境はXP、VB6です。
イメージをコントロール配列にして、タイマーによって1秒間隔で
フォーム内にイメージを表示させ、位置を変える処理を作っています。
タイマーの処理は
img(Index).Top = img(Index).Top + 250
としているのですが、配列の要素が増えてindexが変わってしまうと
その前に表示されたイメージの動きが止まってしまいます。
各イメージはフォームの一番上から下へ落としたいです。
文章で説明するのが難しいのですが、改善策があればよろしくお願いします。


やじゅ  2008-06-06 21:55:54  No: 139846

どのタイミングで配列の要素が増えるんですか?
配列の要素が確定してからタイマーで動かすとか

アルゴリズムが変なのは確か、ソースコードが提示
されてない以上、自分で値を追って解決するしかないかな。


みけ  2008-06-06 23:00:54  No: 139847

フォーム内にタイマーは2つあり、1つは1秒おきにイメージを
表示させるもの、もう1つは表示したイメージを0.5秒おきに下へ
移動させるものです。

3秒経てばフォーム内には3つのイメージが表示されており、その
3つを同じように下へ移動させたいんです。


QUE  2008-06-09 18:59:50  No: 139848

For i = img.LBound To img.LBound
        img(i).Top = img(i).Top + 250
    Next
とか。


みけ  2008-06-10 00:29:53  No: 139849

>QUE さん
遅くなりました。
LBound は使わなかったんですが、似たような感じで
ループ回してできました。
ソースコードもおとさずに質問してしまってすみません。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加