Page 1 sur 1
[..] Changer l'apparrence d'un label au survol de la souris
Posté : mar. 28 oct. 2008 00:53
par gotcho
Bonjour,
comme je trouve les boutons très peu jolis, j'utilise des images et des labels pour les remplacer. Ensuite, avec un "Case $nomdumodule", je détecte le clic et lance les actions relatives.
Mais voilà, le fait que ça ne soit pas des boutons les rend peu visibles pour un clic.
Ma question est la suivante : comment détecter le survol souris au dessus d'un de ces objets, afin d'indiquer que le clic va entrainer une action en modifiant l'objet en question ?
PS: J'aimerais éviter les bidouilles de détection de la position de la souris par rapport au bouton...
Merci par avance !
Re: [..] Changer l'apparrence d'un label au survol de la souris
Posté : mar. 28 oct. 2008 21:55
par sylvanie
Bonsoir,
GUIGetCursorInfo sera la clé de voute :
Code : Tout sélectionner
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447, 193, 125)
$Button1 = GUICtrlCreateButton("Button1", 80, 56, 105, 57, 0)
$Button2 = GUICtrlCreateButton("Button2", 379, 124, 105, 57, 0)
$Button3 = GUICtrlCreateButton("Button3", 200, 220, 105, 57, 0)
$Button4 = GUICtrlCreateButton("Sortie", 455, 314, 105, 57, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
AdlibEnable("Detect_ctrl",500)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button4
Exit
EndSwitch
Sleep(100)
WEnd
Func Detect_ctrl()
Local $cursor_info,$id
$cursor_info=GUIGetCursorInfo ()
If @error Then Return
$id=$cursor_info[4]
If Not $id Then
ToolTip("")
Return
EndIf
ToolTip ( GUICtrlRead($id)&" est survolé" , $cursor_info[0] , $cursor_info[1] , "Info" , 1)
EndFunc
Re: [..] Changer l'apparrence d'un label au survol de la souris
Posté : mer. 29 oct. 2008 01:28
par gotcho
Merci, cette solution marche bien !
Mais à tout hasard, n'en n'existerai pas une autre moins... gourmande qu'une fonction à répéter toutes les 500 ms ?
Merci par avance, sinon je ferai avec celle-ci
Re: [..] Changer l'apparrence d'un label au survol de la souris
Posté : mer. 29 oct. 2008 12:09
par ani
oui y a bien une autre fonction (plutot un UDF spécialement créer pour le survol d'un control)
Re: [..] Changer l'apparrence d'un label au survol de la souris
Posté : mer. 29 oct. 2008 17:07
par gotcho
Oooops je suis navré, aucun fichier ne marche, et j'ai un peu de mal à comprendre le fonctionnement de la chose...
Re: [..] Changer l'apparrence d'un label au survol de la souris
Posté : jeu. 30 oct. 2008 22:41
par sylvanie
Elle est chouette cette udf, une grnade leçon sur les callbacks !
Sinon, les fichiers de démos passe bien chez moi ...
Pour le principe d'utilisation, après création d'un contrôle d'id : $ID, on lance un
GUICtrlSetOnHover($id, "Hover_Func", "Leave_Hover_Func")
avec Hover_Func, la fonction à lancer an cas de survol (à écrire soit même, ie je change la police, le texte, la taille ....)
et Leave_Hover_Func, la fonction à lancer lorsqu'on quitte la zone de survol (ie je restore l'état initial)
je suis admiratif ^^