Page 1 sur 1

[R] Rentrer ma réponse et [Entrée]

Posté : mar. 19 févr. 2008 20:15
par eln
Bonjour

Un petit bout de code :

Code : Tout sélectionner

#include <GuiConstants.au3>

$Form1_1 = GUICreate("Connecter un lecteur réseau I:", 346, 145, 318, 194)
GUISetFont(8, 400, 0, "Times New Roman")
$Label1 = GUICtrlCreateLabel(" Nom d'utilisateur : ", 16, 8, 191, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Label2 = GUICtrlCreateLabel(" Mot de passe :", 16, 41, 98, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$User = GUICtrlCreateCombo("Toto", 208, 8, 118, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Pwd = GUICtrlCreateInput("", 115, 41, 211, 27, $ES_PASSWORD)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
GUICtrlSetState(-1, $GUI_FOCUS)
$OK = GUICtrlCreateButton("&OK", 144, 112, 49, 25, 0)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Checkbox = GUICtrlCreateCheckbox(" Ouvr&ir le lecteur réseau I:", 8, 80, 249, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
GUISetState(@SW_SHOW, $Form1_1)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
Donc je souhaiterai rentrer mon mot de passe et que le fait d'appuyer sur la touche ENTREE, me fasse accéder à la suite sans forcement appuyer sur OK.

Merci

Re: Rentrer ma réponse et [Entrée]

Posté : mar. 19 févr. 2008 21:59
par eln
J'ai modifié avec ceci, c'est du bidouillage mais ça marche.

Code : Tout sélectionner

#include <GuiConstants.au3>
#include <Misc.au3> ; <---
$Form1_1 = GUICreate("Connecter un lecteur réseau I:", 346, 145, 318, 194)
GUISetFont(8, 400, 0, "Times New Roman")
$Label1 = GUICtrlCreateLabel(" Nom d'utilisateur : ", 16, 8, 191, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Label2 = GUICtrlCreateLabel(" Mot de passe :", 16, 41, 98, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$User = GUICtrlCreateCombo("Toto", 208, 8, 118, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Pwd = GUICtrlCreateInput("", 115, 41, 211, 27, $ES_PASSWORD)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
GUICtrlSetState(-1, $GUI_FOCUS)
$OK = GUICtrlCreateButton("&OK", 144, 112, 49, 25, 0)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Checkbox = GUICtrlCreateCheckbox(" Ouvr&ir le lecteur réseau I:", 8, 80, 249, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
GUISetState(@SW_SHOW, $Form1_1)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Pwd ; <---
            If _IsPressed("0D") Then Send("!o") ; <---
        Case $OK
            MsgBox(0, "", "Test")
    EndSwitch
WEnd
Qui dit mieux ?

Re: [..]Rentrer ma réponse et [Entrée]

Posté : mar. 19 févr. 2008 23:02
par Tlem
Il y avait plus simple.

Remplacez cette ligne :

Code : Tout sélectionner

$OK = GUICtrlCreateButton("&OK", 144, 112, 49, 25, 0)
Par cette ligne :

Code : Tout sélectionner

$OK = GUICtrlCreateButton("&OK", 144, 112, 49, 25, $BS_DEFPUSHBUTTON)
Ensuite dans la boucle traiter le message par :

Code : Tout sélectionner

Case $Ok
     Msgbox(0,"Info","Ecran valider")

Re: [R] Rentrer ma réponse et [Entrée]

Posté : mer. 20 févr. 2008 08:42
par eln
Encore merci Tlem.

Re: [R] Rentrer ma réponse et [Entrée]

Posté : mer. 20 févr. 2008 12:21
par tolf
sinon, tu peux essayer ceci :

Code : Tout sélectionner

#include <GuiConstants.au3>
;~ #include <Misc.au3> ; <---

$Form1_1 = GUICreate("Connecter un lecteur réseau I:", 346, 145, 318, 194)
GUISetFont(8, 400, 0, "Times New Roman")
$Label1 = GUICtrlCreateLabel(" Nom d'utilisateur : ", 16, 8, 191, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Label2 = GUICtrlCreateLabel(" Mot de passe :", 16, 41, 98, 23)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$User = GUICtrlCreateCombo("Toto", 208, 8, 118, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Pwd = GUICtrlCreateInput("", 115, 41, 211, 27, $ES_PASSWORD)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
GUICtrlSetState(-1, $GUI_FOCUS)
$OK = GUICtrlCreateButton("&OK", 144, 112, 49, 25, 0)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
$Checkbox = GUICtrlCreateCheckbox(" Ouvr&ir le lecteur réseau I:", 8, 80, 249, 25)
GUICtrlSetFont(-1, 12, 400, 0, "Times New Roman")
GUISetState(@SW_SHOW, $Form1_1)

HotKeySet("{ENTER}", "Fonction_ok") ; permet de lancer la fonction "Fonction_ok" quand on tape sur ENTREE

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
;~         Case $Pwd ; <---
;~             If _IsPressed("0D") Then Send("!o") ; <---
        Case $OK
            Fonction_ok() ; on met le message dans une fonction
    EndSwitch
WEnd


Func Fonction_ok() ; fonction a lancer quand on tape sur ENTREE ou sur le bouton "ok"
    MsgBox(0, "", "Test") ; le message a afficher
    HotKeySet("{ENTER}") ; désactive le lancement de la fonction "Fonction_ok" quand on tape sur ENTREE
    ; -> pas obligatoire mais ça peut être utile pour la suite de ton script, qui sera sans doute plus compliqué !
EndFunc
"HotKeySet" sert à lancer une fonction automatiquement quand on appuye sur un bouton du clavier.

Re: [R] Rentrer ma réponse et [Entrée]

Posté : mer. 20 févr. 2008 20:08
par eln
Merci tolf de l'astuce, c'est bien pris en compte.