Page 1 sur 1

[R] Actionnement d'un bouton par appui de la touche entrer

Posté : sam. 01 nov. 2008 22:17
par Cyrille
Bonsoir,

Je chercher a faire en sorte que lorsqu'on appui sur la touche entrer un bouton précis de la fenêtre soit activé. J'illustre :
Image
lorsque j'ai fini de rentre mon mot de passe je voudrais faire entrer pour valider.

C'est sûrement tout bête comme question mais je sais pas du tout ^^

merci d'avance.

Re: [...] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 01:56
par Tlem
Il vous faut utiliser la fonction HotKeySet.

Code : Tout sélectionner

#Include <GuiButton.au3>
HotKeySet("{ENTER}", "Valid")

...
Le Code.
...

Func Valid()
    HotKeySet("{ENTER}") ; Pour désactiver le HotKeySet.
    _GUICtrlButton_Click($hWnd) ; $hWnd est le handle du bouton.
EndFunc
 

Re: [...] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 11:05
par Cyrille
Il me manque l'include GUIButton.au3
J'ai vérifier dans le dossier include de autoit et il n'y ai effectivement pas.
Est ce un problème d'installation ? ou de version ? ou je ne sais quoi -_-

Re: [...] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 11:13
par jbnh

Re: [...] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 12:16
par Cyrille
Merci, à priori ça marche, mais mon problème est différent maintenant.
Je sais pas quand désactiver le HotKey.
En fait c'est un peu complexe. Voici une partie de mon code :
► Afficher le texte
Quand on fait entrer on désactive direct le HotKey, mais si le mot de passe est incorrect on doit le retaper, et du coup le HotKey est désactivé et n'a pas été réactivé... Je sais pas où il faut que je le désactive...

Re: [...] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 12:43
par jbnh

Code : Tout sélectionner

 ElseIf $motdepasse <> $mdpIsOk Then
        MsgBox(48, "Mot de passe incorect", "Entre le bon mot de passe")
    EndIf
Dans cette partie la tu réactive ton hotkeyset non?

Re: [...] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 16:18
par Cyrille
Oui c'est tout bête >_< mais j'avais pas vu ça comme ça, merci bien :wink:

Re: [R] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 16:38
par jbnh
Fait gaffe de bien le mettre en dessous de la msgbox sinon si il appuie sur enter pour la msgbox ca va faire un beau bug

Re: [R] Actionnement d'un bouton par appui de la touche entrer

Posté : dim. 02 nov. 2008 16:45
par Cyrille
C'est fait ça marche impec ^^
Merci

Re: [R] Actionnement d'un bouton par appui de la touche entrer

Posté : sam. 08 nov. 2008 18:32
par arrkhan
Reponse quelques peu tardive mais ca n'aurait pas ete plus simple de mettre directement sous le bouton un GUICtrlSetState(-1, $GUI_DEFBUTTON) ?

Re: [R] Actionnement d'un bouton par appui de la touche entrer

Posté : lun. 22 déc. 2008 15:39
par AbsoluteZero
Bonjour,

Je sais que ce topic a été résolu mais il y a une chose qui m'intrigue ... Je souhaiterai savoir quelle parti du code a été utilisé pour réalisé la simple box qui est affiché en haut.

Il y a plusieur applet SQL dans le code ... mais n'ayant aucune connaissance en SQL je ne sais pas qu'elles sont les informations que je dois utliser.

Merci pour vos suggestions.

Re: [R] Actionnement d'un bouton par appui de la touche entrer

Posté : lun. 22 déc. 2008 16:47
par Cyrille
Le code pour la fenêtre c'est juste celui là :
Le sql c'est juste en rapport avec mon programme et pas la box.

Code : Tout sélectionner

Func connexionUser_GUI()
    #Region ### START Koda GUI section ### Form=
    $Form3 = GUICreate("Connexion", 243, 137, -1, -1)
    GUISetIcon("D:\008.ico")
    $i_motdepasse = GUICtrlCreateInput("password", 3, 77, 233, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    $ButtonOk = GUICtrlCreateButton("&OK", 81, 109, 75, 25, 0)
    $ButtonCancel = GUICtrlCreateButton("&Annuler", 162, 109, 75, 25, 0)
    $Label = GUICtrlCreateLabel("Mot de passe :", 3, 57, 74, 17)
    $Label1 = GUICtrlCreateLabel("Identifiant :", 8, 7, 56, 17)
    $i_identifiant = GUICtrlCreateInput("Entre ton identifiant", 3, 27, 233, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
EndFunc

Re: [R] Actionnement d'un bouton par appui de la touche entrer

Posté : lun. 22 déc. 2008 20:34
par TheBlade
Une info qui peut t'aider (Pris du fichier d'aide AutoIt) :

Section GUI Control Styles

Disponible dans <ButtonConstants.au3>
$BS_DEFPUSHBUTTON : 0x0001

Creates a push button with a heavy black border. If the button is in a dialog box, the user can select the button by pressing the ENTER key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely option, or default.

Donc il te suffit de donner cette constante à ton bouton au moment de sa creation :
GUICtrlCreateButton ( "text", left, top [, width [, height [, $BS_DEFPUSHBUTTON [, exStyle]]]] )

En tout etat de cause, il sera pris en compte a chaque pression de la touche [ENTREE]

Re: [R] Actionnement d'un bouton par appui de la touche entrer

Posté : mar. 23 déc. 2008 10:12
par AbsoluteZero
Je vous remercie de votre aide ... j'étais tout simplement coincé pour faire une fenêtre avec deux champs à remplir.

:mrgreen: