Aide sur les Interfaces Graphique Utilisateurs (GUI).
Tenynos
Niveau 1
Messages : 2 Enregistré le : mar. 14 juin 2011 17:05
Status :
Hors ligne
#1
Message
par Tenynos » sam. 29 oct. 2011 13:03
Bonjour a tous,
Je suis débutant sur Autoit et je n'ai pas réussi a trouver la solution a mon problème.
Je sais que l'on peut peut faire appel a une fonction lorsque l'on effectue un clic gauche sur un control à l'aide de GUICtrlSetOnEvent(ControlID,"_MaFonction"). J'aimerai savoir si une fonction permet de faire la même chose, mais pour un clic droit ? Je n'ai réussi que maladroitement a le faire mais c'est pas très joli a voir
Donc si quelqu'un peut m'aider je lui en serai reconnaissant
Merci d'avance
Modifié en dernier par
Tenynos le dim. 30 oct. 2011 23:20, modifié 1 fois.
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#2
Message
par mikell » sam. 29 oct. 2011 15:08
Pour clic droit sur un controle y a ça
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
$gui = GUICreate("test", 200, 100)
$btn = GuiCtrlCreateButton("clic", 20, 20, 80, 30)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $btn
MsgBox(0, "", "clic gauche sur le controle")
Case $msg = $GUI_EVENT_SECONDARYDOWN
$a = GUIGetCursorInfo($gui)
If $a[4] = $btn Then MsgBox(0, "", "clic droit sur le controle")
EndSelect
WEnd
Et pour le mode evenementiel
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
$gui = GUICreate("test", 200, 100)
$btn = GuiCtrlCreateButton("clic", 20, 20, 80, 30)
GUICtrlSetOnEvent(-1, "_events")
GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "_events")
GUISetOnEvent($GUI_EVENT_CLOSE, "_events")
GUISetState()
While 1
Sleep(10)
WEnd
Func _events()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
Case @GUI_CtrlId = $GUI_EVENT_SECONDARYDOWN
$a = GUIGetCursorInfo($gui)
If $a[4] = $btn Then MsgBox(0, "", "clic droit sur le controle")
Case @GUI_CtrlId = $btn
MsgBox(0, "", "clic gauche sur le controle")
EndSelect
EndFunc
Pour test clic droit en général c'est _IsPressed("02")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Tenynos
Niveau 1
Messages : 2 Enregistré le : mar. 14 juin 2011 17:05
Status :
Hors ligne
#3
Message
par Tenynos » dim. 30 oct. 2011 23:19
Merci beaucoup pour cette réponse complète !
C'est ce dont j'avais besoin, et désormais mon démineur marche parfaitement.