掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
線を同時に描画するには? (ID:90612)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ボタンを押すたびにグラフ自体を書いているので撰も消えてしまいます。 グラフの作成と、線の描画は分けましょう。 Private Sub Form_Load() Dim cx As Integer, cy As Integer, lx As Integer, ly As Integer Dim sx As Integer, sy As Integer, ex As Integer, ey As Integer cx = 1000 'グラフの原点(X) cy = 2800 'グラフの原点(Y) lx = 4000 'グラフのX軸範囲 ly = 2500 'グラフのY軸範囲 ex = 0 ey = 0 sx = 0 sy = 0 Picture1.BackColor = QBColor(15) 'グラフの背景を明るい白に設定 Picture1.Line (cx, cy)-(cx + lx, cy - ly), , B 'グラフの範囲をボックス囲にする Picture1.DrawStyle = 2 '縦軸の目盛りをつける For i = 0 To 10 Picture1.Line (cx, cy - 500 * i)-(cx + lx, cy - 500 * i) Picture1.CurrentX = cx - 350 Picture1.CurrentY = cy - 250 * i - 80 Picture1.Print Format(i * 1, "0.00") Next i '横軸の目盛りをつける For i = 0 To 5 Picture1.Line (cx + i * 800, cy)-(cx + i * 800, cy - ly) Next i For i = 0 To 10 Picture1.CurrentX = cx - 30 + i * 400 '/ (n - 1) Picture1.CurrentY = cy + 50 DataGrid1.Col = 0 DataGrid1.Row = i Picture1.Print DataGrid1.Text Next i End Sub Private Sub Command1_Click() Dim cx As Integer, cy As Integer, lx As Integer, ly As Integer Dim sx As Integer, sy As Integer, ex As Integer, ey As Integer Picture1.DrawStyle = 0 'これ以降の線を実線とする 'グラフ描画の最初の点を設定 DataGrid1.Col = 1 DataGrid1.Row = 0 '最初のデータ rec.MoveFirst dt = Val(rec!フィールド2) * 500 / 2 sx = cx sy = cy - dt DataGrid1.Row = 0 'グラフの描画 R = (Rnd * 255) \ 1 G = (Rnd * 255) \ 1 B = (Rnd * 255) \ 1 For j = 0 To 9 DataGrid1.Col = j dt = Val(rec!フィールド3) * 500 / 2 ex = cx + (j * 400) ey = cy - dt Picture1.Line (sx, sy)-(ex, ey), RGB(R, G, B) sx = ex sy = ey If rec.EOF = False And rec.BOF = False Then rec.MoveNext End If Next j 'End If End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.