Page 1 sur 1
[R] Détecter des touches dans des GUI
Posté : mer. 15 juin 2011 19:13
par TT22
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 ?
Re: [..] Détecter des touches dans des GUI
Posté : mer. 15 juin 2011 19:51
par TommyDDR
On peut surement faire mieux mais pour faire simplement je dirai :
► Afficher le textecode
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
Re: [..] Détecter des touches dans des GUI
Posté : mer. 15 juin 2011 20:02
par TT22
Ok, merci

Mais juste une question, pourqoui la touche c'est :
Et pas :
Re: [R] Détecter des touches dans des GUI
Posté : mer. 15 juin 2011 20:04
par TommyDDR
Parce que c'est le code ASCII des touches qui est attendu.
Un appuie sur F1 sur la fonction _IsPressed vous l'aurait montré !
Re: [R] Détecter des touches dans des GUI
Posté : mer. 15 juin 2011 20:59
par TT22
Ok
Re: [R] Détecter des touches dans des GUI
Posté : mer. 15 juin 2011 21:29
par mikell
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")
EndFunc
J'aime bien quand c'est simple...

Re: [R] Détecter des touches dans des GUI
Posté : mer. 15 juin 2011 22:26
par TommyDDR
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 !

Re: [R] Détecter des touches dans des GUI
Posté : jeu. 16 juin 2011 00:47
par mikell
Oups...
