Aide et conseils concernant AutoIt et ses outils.
TT22
Membre émérite
Messages : 1566 Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status :
Hors ligne
#1
Message
par TT22 » mer. 15 juin 2011 19:13
Bonjour,
J'ai commencé à faire une GUI et j'ai besoins de savoir si l'utilisateur à appuyé sur une touche.
Voici le début de mon script :
► Afficher le texte
Code : Tout sélectionner
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
guicreate ("Gui",600,300)
$edit = guictrlcreateedit ("", 0, 0, 600, 300)
GUISetState(@SW_SHOW)
while 1
$msg = guigetmsg()
If $msg = $GUI_EVENT_CLOSE Then
Exit
EndIf
If _IsPressed("{enter}") Then
MsgBox(0,"","Entrée")
EndIf
WEnd
Et j'ai besoin de savoir si l'utilisateur appuie sur entrée.
Donc, est-ce que quelqu'un sait ce qui ne vas pas ?
Modifié en dernier par
TT22 le mer. 15 juin 2011 19:59, modifié 1 fois.
Cordialement,
TT22
TommyDDR
Modérateur
Messages : 2130 Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status :
Hors ligne
#2
Message
par TommyDDR » mer. 15 juin 2011 19:51
On peut surement faire mieux mais pour faire simplement je dirai :
► Afficher le texte code
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <WindowsConstants.au3>
GUICreate("Gui",600,300)
$edit = GUICtrlCreateEdit("", 0, 0, 600, 300)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, "WM_NOTIFY")
while 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
Exit
EndIf
WEnd
Func WM_NOTIFY($hWnd, $iMsg, $lParam, $wParam)
If(_IsPressed("0D")) Then
ToolTip("ENTER")
EndIf
EndFunc
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
TT22
Membre émérite
Messages : 1566 Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status :
Hors ligne
#3
Message
par TT22 » mer. 15 juin 2011 20:02
Ok, merci
Mais juste une question, pourqoui la touche c'est :
Et pas :
Cordialement,
TT22
TommyDDR
Modérateur
Messages : 2130 Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status :
Hors ligne
#4
Message
par TommyDDR » mer. 15 juin 2011 20:04
Parce que c'est le code ASCII des touches qui est attendu.
Un appuie sur F1 sur la fonction _IsPressed vous l'aurait montré !
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
TT22
Membre émérite
Messages : 1566 Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status :
Hors ligne
#5
Message
par TT22 » mer. 15 juin 2011 20:59
Ok
Cordialement,
TT22
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#6
Message
par mikell » mer. 15 juin 2011 21:29
HotKeySet() est pas mal non plus
► Afficher le texte
Code : Tout sélectionner
HotKeySet("{ENTER}", "msg")
GUICreate("Gui",600,300)
GUISetState()
while 1
If GUIGetMsg() = -3 Then Exit
WEnd
Func msg()
MsgBox(0,"","Entrée")
EndFuncJ'aime bien quand c'est simple...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
TommyDDR
Modérateur
Messages : 2130 Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status :
Hors ligne
#7
Message
par TommyDDR » mer. 15 juin 2011 22:26
HotKeySet est bien évidement à
PROSCRIRE
Imaginez un instant avoir un HotKeySet sur la touche Enter, celle-ci ne sera alors plus utilisable dans n'importe quel autre programme, et ça, croyez moi, vous ne le voulez pas !
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#8
Message
par mikell » jeu. 16 juin 2011 00:47
Oups...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )