Ocx trois états (j'ai pas trouvé de titre clair lol)

Soyez le premier à donner votre avis sur cette source.

Vue 4 042 fois - Téléchargée 575 fois


Description

Bon je vais essayer d'être plus clair...
Cette ocx gère trois état d'image : MouseOver , MouseDown et MouseOut
les évenements sont évidemment:
MouseMove , MouseDown , MouseUp , Click et DblClick et bien pratique le MouseOut
en gros, vous pouvez gérer 3 images suivant l'état de la souris par rapport à l'ocx...
L'intéret tout particulier c'est le MouseOut biensur!!!
A quoi peut servir un tel ocx????
=> J'en avais besoin pour pouvoir redimensionner mes controles de manière plus sympa....je mets mon ocx dans entre deux textbox par exemple et je gère le redimensionnement de ces textbox via mon ocx ....ok c'est pas utile pour tout le monde...en plus c'est plutot sympa de pouvoir changer l'image suivant l'état de la souris...enfin, le MouseOut offre une manière simple de modifier le curseur de la souris lorsque celle ci n'est plus sur le controle...

PS:cette méthode a déjà été utilisé pour d'autres controles, mais bon je voulais en faire quelque chose de simple et j'en avais besoin perso...

Source / Exemple :


'voici en exmple le code du fichier zip
Private Sub YommZone1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    Screen.MousePointer = vbSizeNS
    If (Button = 1) And (Text1.Height + Y >= 285) And (Text2.Height - Y >= 285) Then
        Text1.Height = Text1.Height + Y
        YommZone1.Top = YommZone1.Top + Y
        Text2.Top = Text2.Top + Y
        Text2.Height = Text2.Height - Y
    End If
    
End Sub

Private Sub YommZone1_MouseOut()

    Screen.MousePointer = vbDefault
    
End Sub

Conclusion :


cet ocx peut simplement servir à afficher une image (façon controle Image) et une image différente au passage de la souris ;-)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
515
Date d'inscription
dimanche 17 février 2002
Statut
Membre
Dernière intervention
10 mars 2008
2
j'ai trouvé la solution , rien de bien méchant...

je donne l'info ici pour ceux ki veulent la modif tout de suite car je suis au boulot et je ne peux pas updater mon source ;-)

dans la procédure Private Sub UserControl_Click()
il faut rajouter un DoEvents avant le RaiseEvent

vous devez alors avoir :
-------------------------------------------------------------
'évenement click
Private Sub UserControl_Click()
DoEvents
RaiseEvent Click
End Sub
-------------------------------------------------------------

voilà, le problème ne devrait plus se poser (enfin j'espère ;-) )

@+
Messages postés
90
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
10 septembre 2006

ok, super
et j'espère que tu trouveras la solution...
Messages postés
515
Date d'inscription
dimanche 17 février 2002
Statut
Membre
Dernière intervention
10 mars 2008
2
c'est tout à fait possible ce ke tu me racontes ;-) en effet, je crois pas avoir pensé à cela hihihi ;-)

je regarde ça et je te tiens au courant

PS: merci pour la note
Messages postés
90
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
10 septembre 2006

Excellent,

Je t'ai mis un 10/10... Mais j'ai une question quand on clique dessus et que le clic fait appel à une procédure du style : from.show....

Ton contrôle reste dans l'état mouseover, même si je lance une procédure qui déplace automatiquement le curseur de la souris sur un autre, alors qu'il devrait retrouver l'état mouseout.

J'espère avoir été assez clair et que tu pourras me dire comme remédier à cela.
Messages postés
515
Date d'inscription
dimanche 17 février 2002
Statut
Membre
Dernière intervention
10 mars 2008
2
l'ocx a été mis à jour....
Afficher les 7 commentaires

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.