Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FAIRE DÉFILER DU TEXTE À UNE VITESSE SÉLECTIONNABLE.


Information sur la source

Catégorie :Texte Niveau : Débutant Date de création : 24/07/2003 Date de mise à jour : 24/07/2003 13:43:44 Vu / téléchargé: 3 519 / 594

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Ce code permet de faire défiler du texte pixel par pixel simplement.
Il reste juste un faible effet de clignotement à résoudre mais comme le code est simple il y a quand même une certaine fluidité.
On peut modifier la vitesse de défilement.

Laissez vos commentaires.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de sylric le 25/07/2003 11:23:05

Y'a des idées à retenir...
Deux petits conseils :
- pour centrer la forme, tu peux paramétrer la prorpiété StartUpPosition de la form.
- dans ton cas, c'est pas pixel par pixel que défile le texte, mais par twip. Il faut vérifier la propriété ScaleMode de la form. Et ça peut tout changer.

signaler à un administrateur
Commentaire de boursicotteur le 27/07/2003 01:02:41

Attention: Tu ne fais pas circuler mais tu donne seulement l'illusion.

Essai donc ceci...
-----------------

Dim xTexteAffiché

Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Form_Load()
    Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2

    Vitesse.Max = 200
    Vitesse.Min = 4
    Vitesse.Value = 4
    Frame1.Caption = "mSec/Pix"

    xTexteAffiché = "Voici comment faire défiler du texte pixel par pixel avec 2 picturebox et aucun timer... Boursicotteur. 2003"
    With Picture1
        .AutoRedraw = True
        .ScaleMode = vbPixels
        .Visible = False
        .BorderStyle = vbBSNone
    
        '.FontName = "MS Sans Serif"
        .FontSize = 20
        .ForeColor = vbBlue

        .Top = 0
        .Left = 0
        .Width = 15 * (Picture1.TextWidth(xTexteAffiché) + 1) 'Ajoute 1 pix(15 twips) pour éviter trainée résiduelle
        .Height = 15 * (Picture1.TextHeight(xTexteAffiché))
    End With

    With Picture2
        .AutoRedraw = True
        .ScaleMode = vbPixels
        .Visible = True
        .BorderStyle = vbBSNone
    
        .Top = 0
        .Left = 0.05 * Me.Width
        .Width = 0.9 * Me.Width
        .Height = Picture1.Height
    End With
    '----

    Picture1.CurrentY = 0
    Picture1.CurrentX = 0
    Picture1.Print xTexteAffiché
End Sub

Private Sub Command1_Click()
    Select Case Command1.Caption
    Case "GO"
        Command1.Caption = "STOP"
    
        '----
        Picture2.Cls
        xPosMin = -(Picture1.ScaleWidth - 1)
        xPos = xPosMin

        Do While Command1.Caption = "STOP"
            If GetTickCount - xx1 >= Vitesse.Value Then
                xx1 = GetTickCount
                Picture2.PaintPicture Picture1.Image, xPos, 0
                xPos = IIf(xPos > xPosMin, xPos - 1, Picture2.ScaleWidth)
            End If
            DoEvents
        Loop
        '----
    
    Case "STOP"
        Command1.Caption = "GO"
    End Select
End Sub

Private Sub Vitesse_Change()
    lblvitesse.Caption = Vitesse.Value
End Sub

signaler à un administrateur
Commentaire de by2k le 29/03/2006 07:51:25

Bonjour, Bravo pour ce bout de code, juste deux petites question :

1) Je fais appel à un fichier qui contient le texte que je veux faire défiler, j'ai un limitation dù au label, il ne m'affiche pas tout les carractéres, ces derniers pouvant être illimités, malgré l'option WordWrap sur TRUE, rien n'y fait, une soluce peut-être ?

2) Je n'ai pu tester le modification de BOURSICOTTEUR car j'ai :
- Une erreur de syntaxe pour la ligne :
If GetTickCount - xx1 >= Vitesse.Value Then
- En enlevant le ";" j'obtiens une autre Une erreur de syntaxe pour la ligne :
xPos = IIf(xPos > xPosMin, xPos - 1, Picture2.ScaleWidth)

Sinon dans un domaine plus générale, je suis à la recherche d'une bout de code me permettant de faire défiler un texte de façon horizontale à partir d'un fichier qui contient le texte sans limitation de carractère.

MERCI pour votre aide.

Windows XP - VB6

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.