[リストへもどる]
一括表示

投稿時間:2002/12/13(Fri) 15:58
投稿者名:パロパロ
Eメール:
URL :
タイトル:
MSChartの折れ線の一部の色を変えたい
Chertコントロールを使用して、折れ線グラフを作っているのですが、
下の/のみ赤色−を青色という風に色分けできるのでしょうか?

 _/ ←赤色
/↑青色
↑赤色

出来ない場合、可能にする方法なんてあるのでしょうか?

Win2k+VB6Pro

宜しくおねがします

投稿時間:2002/12/13(Fri) 17:36
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: MSChartの折れ線の一部の色を変えたい
残念ながら MSChertコントロールではできません。

> 出来ない場合、可能にする方法なんてあるのでしょうか?
自分で折線グラフを作るのが一番手っ取り早いかと思います。

投稿時間:2002/12/14(Sat) 09:56
投稿者名:パロパロ
Eメール:
URL :
タイトル:
Re^2: MSChartの折れ線の一部の色を変えたい
> 残念ながら MSChertコントロールではできません。
  やはりそうですか。。。(;_;)

> > 出来ない場合、可能にする方法なんてあるのでしょうか?
> 自分で折線グラフを作るのが一番手っ取り早いかと思います。
  自分でですか、、
  イメージが沸きません。。。
  何か、簡単なアドバイス(こうすることで、出来そうかも?!)は無いでしょうか?

投稿時間:2002/12/14(Sat) 13:35
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: MSChartの折れ線の一部の色を変えたい
>   何か、簡単なアドバイス(こうすることで、出来そうかも?!)は無いでしょうか?

水平のラインだけ青色で表示すればいいのですネ
(考え方だけ)

Private Sub Command1_Click()
    Dim i As Long
    Dim PX1 As Long, PX2 As Long
    Dim dat(1 To 4) As Long
    dat(1) = 2000
    dat(2) = 1500
    dat(3) = 1500
    dat(4) = 1000
    
    For i = 1 To 4
        If i = 1 Then
            PX1 = 500: PX2 = PX1
            Call PrintLine(PX1, dat(i), PX2, dat(i))
            PX1 = 0
        Else
            PX1 = PX1 + 500: PX2 = PX1 + 500
            Call PrintLine(PX1, dat(i - 1), PX2, dat(i))
        End If
    Next i
End Sub

Private Sub PrintLine(X1 As Long, Y1 As Long, X2 As Long, Y2 As Long)
    Dim Co As Integer
    If Y1 = Y2 Then
        Co = 9
    Else
        Co = 12
    End If
    Line (X1, Y1)-(X2, Y2), QBColor(Co)
End Sub

こんな方法ではだめですか?

投稿時間:2002/12/15(Sun) 18:29
投稿者名:パロパロ
Eメール:
URL :
タイトル:
Re^4: MSChartの折れ線の一部の色を変えたい
> 水平のラインだけ青色で表示すればいいのですネ
> (考え方だけ)

まるっきり水平ではありませんが、、、、
チャートを使わず、フォームに線描ですか、、、
スプリッターで、領域が自動的に変わるようにしているので、
対応が厳しそうです。
これを参考に考えて見ます。
また、投稿させていただくかもしれません。
阿智が問うございます。