Changement d'image d'un boutton

Messages postés
9
Date d'inscription
mardi 22 janvier 2002
Statut
Membre
Dernière intervention
17 décembre 2002
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Voila je veux simplement que lorsque je passe avec ma souris sur le bouton l'image change et qu'elle redevienne normal quand je ne suis plus dessus.
J'ai essayer avec MouseMove mais çà a pas marcher correctement.
Merci de me dire comment résoudre ce petit pb :)

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Je ne vois pas pourquoi ca ne marqhe pas avec MouseMove... Quel est ton problème lorsque tu l'utilise ?

Pour un exemple, va voir ma source nommée NOUVELLE ICONE, j'y ai fait une barre d'outils qui devrait te montrer comment faire pour changer d'image.

DARK SIDIOUS
Messages postés
9
Date d'inscription
mardi 22 janvier 2002
Statut
Membre
Dernière intervention
17 décembre 2002

Merci de ton aide mais comme tu l'as compris aucun problème de changer d'icone sur le MouseMouve mais j'arrive pas a remettre l'autre image lorsque je ne suis plus sur le bouton. Je vais voir ta source quand meme
Messages postés
1
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
25 octobre 2003

Hello,

Moi aussi j'ai le même pb que toi, je n'arrive pas à remettre l'image initiale losque la souris n'est plus sur le bouton.
As-tu reussi à trouver une solution ?
Si oui, peux-tu me la faire parvenir?

Merci par avance
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Oui, il y a une solution pour ce gnere de problème en passant par les fonctions API :

SetCapture pour capturer un objet spécifique
ReleaseCapture pour arrêter la capture.

Voilà un code (qui n'est pas de moi mais de MD déposé sur le site www.ProgOtoP.com) qui permet de colorier en vert un PictureBox lorsque la souris passe dessus, et revenir à l'état précédent lorsqu'elle n'y est plus :

'SetCapture capture un objet pour le modifier 

Private Declare Function SetCapture Lib "user32" ( _ 
ByVal hwnd As Long) As Long 

'ReleaseCapture Arrete la capture 

Private Declare Function ReleaseCapture Lib "user32" () As Long 

Dim LG As Long, HT As Long, BC As Long 

Private Sub Form_Load() 

'Largeur de la fenetre 
Form1.Width = 6000 
BC = Picture1.BackColor 'Couleur du fond d'origine du PictureBox 

End Sub 

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 
LG Picture1.Width: HT Picture1.Height 

SetCapture (Picture1.hwnd) 'Capture le pictureBox et le modifie 

Picture1.BackColor = vbGreen 'Couleur du PictureBox (Vert) 

If X < 0 Or Y < 0 Or X > LG Or Y > HT Then 

'si la souris sort du pictureBox 
ReleaseCapture 'Arrete la capture et remet la couleur d'origine 
Picture1.BackColor = BC 

'BC=Couleur du fond d'origine  

End If 

End Sub


DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]