掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
グラフのリアルタイム表示は? (ID:86341)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
「年寄りの冷や水」さんのコードを殆どお借りしてロールをしてみました。 Picture1を配列で2つ用意して Appearance->フラット BorderStyle->なし の設定とします、若干Picture1(0)とPicture1(1)の繋ぎ目が 不自然となる場合があります。これを直すとコードがわかりにくく なるので、とりあえず。 Option Explicit Const TTT = 80 Private Sub Form_Load() Dim n As Integer Me.Width = TTT * 120 'フォーム・ピクチャボックスの大きさ設定 Me.Height = 6720 For n = 0 To 1 Picture1(n).Width = Me.Width Picture1(n).Height = 5550 Picture1(n).Left = 0 Picture1(n).Top = 240 Picture1(n).BackColor = RGB(0, 0, 0) '背景色を黒に設定 SCALE_DRAW n Next Picture1(1).Left = Picture1(0).Left + Picture1(0).Width Timer1.Interval = 50 Timer1.Enabled = True End Sub Sub SCALE_DRAW(n) Dim OLD_X As Integer, OLD_Y As Integer Picture1(n).AutoRedraw = True Picture1(n).DrawWidth = 1 Picture1(n).DrawStyle = 0 Picture1(n).ForeColor = RGB(50, 110, 50) For OLD_X = 0 To 10000 Step 300 Picture1(n).Line (OLD_X, 0)-(OLD_X, 5550) Next OLD_X For OLD_Y = 0 To 5550 Step 300 If OLD_Y = 2700 Then '水平位置基準線 Picture1(n).DrawWidth = 1.3 '若干太め Picture1(n).DrawStyle = 2 '鎖線 Picture1(n).ForeColor = RGB(0, 220, 0) '明るい色 Else '標準目盛線 Picture1(n).DrawWidth = 1 '標準の太さ Picture1(n).DrawStyle = 0 '目盛標準線 Picture1(n).ForeColor = RGB(50, 110, 50) '目盛標準色 End If Picture1(n).Line (0, OLD_Y)-(10000, OLD_Y) Next OLD_Y Picture1(n).ForeColor = RGB(255, 255, 255) OLD_Y = 0 OLD_X = 0 End Sub Private Sub Timer1_Timer() Draw End Sub Private Sub Draw() Dim Y As Integer Static OLD_X As Integer Static OLD_Y As Integer Y = Int(Rnd * 3500) '描画が端に来たらPictureを切り替える If OLD_X > Picture1(0).Width Then If Picture1(0).Left < Picture1(1).Left Then Picture1(0).Left = Picture1(1).Left + Picture1(1).Width Picture1(0).Cls SCALE_DRAW (0) Else Picture1(1).Left = Picture1(0).Left + Picture1(0).Width Picture1(1).Cls SCALE_DRAW (1) End If OLD_X = 0 End If '常に右側のPictureに描画 If Picture1(0).Left < Picture1(1).Left Then Picture1(1).Line (OLD_X, OLD_Y)-(OLD_X + TTT, Y) Picture1(0).Left = Picture1(0).Left - TTT Picture1(1).Left = Picture1(0).Left + Picture1(0).Width Else Picture1(0).Line (OLD_X, OLD_Y)-(OLD_X + TTT, Y) Picture1(1).Left = Picture1(1).Left - TTT Picture1(0).Left = Picture1(1).Left + Picture1(1).Width End If OLD_X = OLD_X + TTT OLD_Y = Y End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.