Défilement de texte de bas en haut dans picture box

Contenu du snippet

voici un défilement de texte de bas en haut avec 1 picture box et 1 timer!
code tres simple, c'est pour cela qu'il n'y a pas de zip! juste copier coller suffit a le faire tourner!
ne pas oublier de mettre une picture box appellée "picture1"
et 1 timer appeller "timer1"

cette facon de deplacement de texte est legerement saccadé, mais est tres simple a comprendre!
si quelqun a une methode plus fluide qui peux etre iteronpu a n'importe quelle moment de l'execusion, et soit bien detaillée, ou facile a comprendre pour debutant, qu'il n'esite pas!

sur le site, une source existe sous le non de straware qui es genial, mais je n'y ai rien compris!

Source / Exemple :


'1 timer (timer1)
'1 PictureBox (Picture1) avec une image de fond

Dim a As Integer                                'garder a en memoire
Dim ligne(3) As String
Private Sub Command2_Click()
Picture1.CurrentY = Picture1.Height             'point de départ en vertical (marge du haut)
a = 0
Timer1 = True
End Sub

Private Sub Form_Load()
Picture1.FillStyle = 1                          'mettre le fond transparent
Picture1.FontSize = 15                          'prendre la taille de police
Picture1.Left = 0
Picture1.Width = Form1.Width                    'ajuster la picture a l'ecran

ligne(1) = "Ceci est un essai !!!"              'prendre le texte"
ligne(2) = "****************"
ligne(3) = "pas terrible mais ca depanne"
End Sub

Private Sub Timer1_Timer()

Picture1.Refresh                                'on efface
Picture1.CurrentY = Picture1.Height - (a * 20)  'decaler la ligne vers le haut

For nb = 1 To 3
x = Len(ligne(nb)) * 9 * Picture1.FontSize      'prendre la largeur du texte
x = (Picture1.Width / 2) - (x / 2)              'centrer le texte
Picture1.CurrentX = x                           'point de départ pour l'imprimante en horizontal(marge de gauche)
Picture1.Print ligne(nb)                        'redessiner la ligne
Next nb
a = a + 1
If Picture1.CurrentY <= 0 Then                  'si arrivé en haut, on recommence
Timer1 = False
Call Command2_Click
End If
End Sub

Conclusion :


a vous les commentaires!
soyez constructif dans vos critiques!

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.