MSChart utilisé en chronomètre

gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 mai 2011 - 26 juin 2007 à 17:10
gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 mai 2011 - 27 juin 2007 à 17:05
Bonjour,

Je vous joins les lignes de code qui me permettent de faire ce petit chrono hyper sobre.
Le problème est que lorsque j'active le timer, tout fonctionne nickel, sauf que ça me fait des espèces de traits blancs qui apparaîssent anarchiquement, comme si le rafraîchissement du chart était "visible"....

Alors le MSchart, c'est peut-être pas la meilleure méthode pour faire ça, mais je sais pas vraiment comment faire autrement...

Dim val, val2

Private Sub chart1()
With MSChart1
        .Row = 1
        .Column = 1
        .Data = val
        .Row = 1
        .Column = 2
        .Data = val2
End With
End Sub


Private Sub Command1_Click()


MSChart1.chartType = VtChChartType2dPie
With MSChart1
    With .DataGrid
         .RowLabelCount = 1
         .ColumnCount = 2
         .RowCount = 1
      End With
End With
val = 0
val2 = 100
Timer1.Enabled = True
MSChart1.Visible = True
Timer1.interval = 100
End Sub


Private Sub Timer1_Timer()
val = val + 1
val2 = val2 - 1
chart2If val2 0 Then Timer1.Enabled False
End Sub

1 réponse

gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 mai 2011
27 juin 2007 à 17:05
Bon, en fouillant un peu, j'ai trouvé mieux (voir ci-joint)

Maintenant, je sais pas comment faire la même chose en faisant partir le remplissage du haut et dans le sens des aiguilles d'une montre ???!!

merci pour toute aide
------------------------------------------------------
(créer Picture1 et Timer1 avec une intervale à 1 sur une form)

Dim vall As Single

Private Sub Form_Load()
    Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()
    vall = vall + 1
    Call affiche_camembert(Picture1)
End Sub


Sub affiche_camembert(camembert As PictureBox)


Const PI = 3.14159265359
x = -(2 * PI) * vall / 100
If x < -(2 * PI) Then x = -(2 * PI)


camembert.Cls
camembert.AutoRedraw = True
camembert.FillStyle = 0
camembert.FillColor = vbRed
camembert.Circle (camembert.ScaleWidth / 2, camembert.ScaleHeight / 2), (camembert.ScaleHeight * 0.45), vbRed, -0.01, x
   
End Sub








 
0