vb ms chart

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • uom360
    New Member
    • Feb 2007
    • 1

    vb ms chart

    i have written a vb code for draw the chart it is working
    but it is flickering while it is run
    plz give me the solution for that
    i have used refresh method but it in not work

    Code:
    Dim i, k As Integer
    
    Private Sub Command1_Click()
        Timer1.Interval = 150
        MSChart1.Refresh
    End Sub
    
    Private Sub Command2_Click()
        MSChart1.Row = 1
        MSChart1.Column = 1
        MSChart1.Data = 0
        
        MSChart1.Row = 1
        MSChart1.Column = 2
        MSChart1.Data = 27
    End Sub
    
    Private Sub Command3_Click()
    For jj = 0 To 49
     MSChart1.Row = i + 1
        MSChart1.Column = 1
        MSChart1.Data = 100 * Sin(k / 3.142)
        Label3.Caption = (k / 3.14)
        Label2.Caption = Sin(k / 3.14)
        Label1.Caption = CInt(Rnd() * 100)
       i = i + 1
       k = k + 1
     Next jj
    End Sub
    
    Private Sub Form_Load()
        i = 0
        k = 0
    
    
    End Sub
    
    Private Sub MSChart1_OLEStartDrag(Data As MSChart20Lib.DataObject, AllowedEffects As Long)
    
    End Sub
    
    Private Sub Timer1_Timer()
       ' MSChart1.Row = i + 1
       ' MSChart1.Column = 1
        'MSChart1.Data = i
       ' X = i
      Timer1.Enabled = False
        MSChart1.Row = i + 1
        MSChart1.Column = 1
        MSChart1.Data = 100 * Sin(k / 3.142)
        Label3.Caption = (k / 3.14)
        Label2.Caption = Sin(k / 3.14)
        Label1.Caption = CInt(Rnd() * 100)
       ' MSChart1.Refresh
       MSChart1.Repaint = True
               
    
        i = i + 1
        If i > 49 Then
        
            For j = 1 To 49
                MSChart1.Column = 1
                MSChart1.Row = j + 1
                temp = MSChart1.Data
                MSChart1.Row = j
                 MSChart1.Data = temp
                 MSChart1.Refresh
                 Next j
            'Timer1.Interval = 0
            i = 49
        End If
        
        k = k + 1
        Timer1.Enabled = True
        'MSChart1.Refresh
    End Sub
    Last edited by Killer42; Feb 27 '07, 05:59 AM. Reason: Please use CODE tags.
  • vijaydiwakar
    Contributor
    • Feb 2007
    • 579

    #2
    Originally posted by uom360
    i have written a vb code for draw the chart it is working
    but it is flickering while it is run
    plz give me the solution for that
    i have used refresh method but it in not work

    Dim i, k As Integer

    Private Sub Command1_Click( )
    Timer1.Interval = 150
    MSChart1.Refres h
    End Sub

    Private Sub Command2_Click( )
    MSChart1.Row = 1
    MSChart1.Column = 1
    MSChart1.Data = 0

    MSChart1.Row = 1
    MSChart1.Column = 2
    MSChart1.Data = 27
    End Sub

    Private Sub Command3_Click( )
    For jj = 0 To 49
    MSChart1.Row = i + 1
    MSChart1.Column = 1
    MSChart1.Data = 100 * Sin(k / 3.142)
    Label3.Caption = (k / 3.14)
    Label2.Caption = Sin(k / 3.14)
    Label1.Caption = CInt(Rnd() * 100)
    i = i + 1
    k = k + 1
    Next jj
    End Sub

    Private Sub Form_Load()
    i = 0
    k = 0


    End Sub

    Private Sub MSChart1_OLESta rtDrag(Data As MSChart20Lib.Da taObject, AllowedEffects As Long)

    End Sub

    Private Sub Timer1_Timer()
    ' MSChart1.Row = i + 1
    ' MSChart1.Column = 1
    'MSChart1.Data = i
    ' X = i
    Timer1.Enabled = False
    MSChart1.Row = i + 1
    MSChart1.Column = 1
    MSChart1.Data = 100 * Sin(k / 3.142)
    Label3.Caption = (k / 3.14)
    Label2.Caption = Sin(k / 3.14)
    Label1.Caption = CInt(Rnd() * 100)
    ' MSChart1.Refres h
    MSChart1.Repain t = True


    i = i + 1
    If i > 49 Then

    For j = 1 To 49
    MSChart1.Column = 1
    MSChart1.Row = j + 1
    temp = MSChart1.Data
    MSChart1.Row = j
    MSChart1.Data = temp
    MSChart1.Refres h
    Next j
    'Timer1.Interva l = 0
    i = 49
    End If

    k = k + 1
    Timer1.Enabled = True
    'MSChart1.Refre sh
    End Sub
    Dear its genral problem in vb
    vb is not that much soft as other s/w are
    but still u vae to concentrate on timer

    Comment

    • Killer42
      Recognized Expert Expert
      • Oct 2006
      • 8429

      #3
      You've got it a bit backward. Turn Repaint off before making your changes, then back on afterward. And if necessary, do a refresh at the same time.

      Comment

      Working...