smog576
Messages postés9Date d'inscriptiondimanche 27 août 2006StatutMembreDernière intervention26 janvier 2012
-
23 janv. 2012 à 10:28
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
23 janv. 2012 à 21:39
Bonjour à tous,
Je dois réaliser un tracé de points qui doit se refaire toutes les 50 ms, en utilisant un timer.
Le problème c'est que je ne comprend rien à l'utilisation du timer ...
Dans un private sub button_click j'ai la création de ma liste de points de longueur 899, qui s'appelle liste.
A la fin de ce private sub, j'ai lancé le timer en utilisant : Timer1.Start()
Voici l'extrait :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Bla bla bla bla bla
Timer1.Start()
End Sub
Ensuite j'ai le private sub du timer_tick, et la dedans j'ai essayé de tracer les points de cette façon :
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim x As Single
Dim Gr As Graphics = Panel1.CreateGraphics()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black)
If liste(899) = 0 Then
Else
For l As Integer = 0 To 899
mypoints(l) = New PointF(x + 75, liste(l) + 75)
x = x + 0.2
Next
Gr.DrawLines(myPen, mypoints)
End If
Timer1.Stop()
End Sub
Mais j'ai pas vraiement l'impression que ça marche ...
De plus comment changer l'échelle d'un panel ? mon tracé est tout petit et j'arrive pas à l'agrandir ...
Ahh... voilà un exemple et le résultat de ton manque d'attention quant au choix de la rubrique choisie...
Tu mets ton code dans la rubrique VB6, or en VB6 "Timer1.Start/Stop" n'existe pas!!!
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 23 janv. 2012 à 21:39
Salut
le timer ne peut pas dessiner
les fonctions graphics sont appellé par
l'évenement OnPaint du control sur lequel
tu veux dessiner les points
si tu dessines sur ta form c'est l'évenement
OnPaint de ta form
si tu dessine dans un panel c'est l'évenement
OnPaint du panel
le timer n'a pas d'évenement OnPaint il n'est
pas destiné à cela
Je dois réaliser un tracé de points qui doit se refaire toutes les 50 ms
pas clair
tu as ta liste de point
le timer se déclenche
faut il tracer la ligne entre les deux premiers
points et à la prochaine entre le deuxieme et le troisieme et ainsi de suite
ou c'est autre chose