Curseur sympa pour vos applications

Soyez le premier à donner votre avis sur cette source.

Vue 4 117 fois - Téléchargée 396 fois

Description

Ca permet de faire un effet de défilement sur un texte quelconque qui suivra le curseur.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
7
Date d'inscription
dimanche 11 mai 2003
Statut
Membre
Dernière intervention
13 mai 2010

tres rigolo!!! vivement que je sache faire ça...!
a+
Messages postés
28
Date d'inscription
mardi 23 juillet 2002
Statut
Membre
Dernière intervention
4 janvier 2004

VOila c remplacé dans le .zip. Merci de ton aide, g toujours eu un peu de mal avec les collections mais ca s'arrange lol. Si t'as d'autres commentaires ou autre je suis ouvert à toute recomandation :-)

Allez @+++ ;-)

Obi
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut OBI76

Très rigolo cet effet et code simple.
Ce que je pourrais te proposer : Permettre de saisir un texte de longueur quelconque :

-1- Remplace ton Tableau à deux dimensions par un type d'item personnel, une collection. Et définir la dernière position connue de la souris dans une variable (plutôt que des Labels) :
En ne mettant qu'une seule dimension à Position, ça te permet d'utiliser les tableaux dynamiquement.

Public Type PositionType
X As Long
Y As Long
End Type
Public Position() As PositionType
Public PositionSouris As PositionType

-2- Pour les labels que tu utilises, c'est pareil :
Ne laisse qu'un seul Label1, avec l'index 0 (supprime les 9 autres)
Supprime aussi Label2 et Label3 qui ne serviront plus.
-3- Fais le transfert du texte vers les Label1 uniquement si le texte change : Dans l'evènement Text1_Change :

Dim LongTexte As Integer, r As Integer
LongTexte = Len(Text1.Text)
' Faut redimensionner le tableau
ReDim Position(LongTexte)
' Et aussi avec les Label1
' S'il n'y a pas suffisemment de Label1 chargés
' on en charge d'autres (de 0 à LongTexte-1)
If Label1.Count < LongTexte Then
For r = Label1.Count To LongTexte - 1
Load Label1(r)
Label1(r).Visible = True
Next r
End If
' Transfère le texte vers les Labels
For r = 1 To LongTexte
Label1(r - 1).Caption = Mid(Text1.Text, r, 1)
Next r

-4- Dans le Form_Load, initialise les variables :

PositionSouris.X = 0
PositionSouris.Y = 0
Call Text1_Change

-5- Dans Form_MouseMove, remplace tes anciens Labels par notre nouvelle variable PositionSouris :

PositionSouris.X = X
PositionSouris.Y = Y

-6- Ensuite dans Timer1_Timer, tu n'as plus qu'à gérer les déplacements :

Dim r As Integer
On Error Resume Next
' On va décaler les mémoires des dernières positions
' (on ne s'occupe pas des .X ni .Y)
For r = (Label1.Count - 1) To 0 Step -1
Position(r + 1) = Position(r)
Next
Position(0) = PositionSouris
' Ensuite, on replace les labels décalés
For r = 0 To (Label1.Count - 1)
Label1(r).Left = Position(r).X + 150 * r
Label1(r).Top = Position(r).Y - 100
Next r

Ca m'a bien amusé ton truc. J'avais déjà vu ça en java, mais jamais en VB.
Vala
Jack

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.