Changement d'image d'un boutton

Diablo418 Messages postés 9 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 17 décembre 2002 - 17 déc. 2002 à 19:18
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 26 oct. 2003 à 16:36
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 déc. 2002 à 20:07
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
0
Diablo418 Messages postés 9 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 17 décembre 2002
17 déc. 2002 à 20:10
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
0
bh913 Messages postés 1 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 25 octobre 2003
25 oct. 2003 à 14:03
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 oct. 2003 à 16:36
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]
0
Rejoignez-nous