2013-08-08 2 views
0

어떻게 우리는 시리즈의 단일 막대에만 패턴을 제공 할 수 있습니까? 예 내 시리즈에 4 개의 막대가 있다고 가정하십시오. 막대를 클릭하면 패턴을 변경해야합니다. 특정 지점의 색상을 변경하는 기능을 알고 있습니다.Teechart 막대 차트 단발 막대 패턴

답변

0

패턴을 배열에 저장하고 OnGetSeriesBarStyle 이벤트로 설정할 수 있습니다. 여기에 예제가 있습니다.

Dim myPatterns() As Integer 

Private Sub Form_Load()  
    TChart1.AddSeries scBar 
    TChart1.Series(0).FillSampleValues 

    ReDim myPatterns(TChart1.Series(0).Count) 
    Dim i As Integer 
    For i = LBound(myPatterns) To UBound(myPatterns) 
    myPatterns(i) = 0 
    Next i 
End Sub 


Private Sub TChart1_OnClickSeries(ByVal SeriesIndex As Long, ByVal ValueIndex As Long, ByVal Button As TeeChart.EMouseButton, ByVal Shift As TeeChart.EShiftState, ByVal X As Long, ByVal Y As Long) 
    If SeriesIndex > -1 And ValueIndex > -1 Then 
    myPatterns(ValueIndex) = (myPatterns(ValueIndex) + 1) Mod 20 
    End If 

    TChart1.Repaint 
End Sub 

Private Sub TChart1_OnGetSeriesBarStyle(ByVal SeriesIndex As Long, ByVal ValueIndex As Long, BarStyle As TeeChart.EBarStyle) 
    If SeriesIndex > -1 And ValueIndex > -1 Then 
    TChart1.Series(SeriesIndex).asBar.BarBrush.ClearImage 
    TChart1.Series(SeriesIndex).asBar.BarBrush.Style = myPatterns(ValueIndex) 
    End If 
End Sub