Buenas!!
El código que adjunto, es un formulario que tiene un input y un botón.
#include <GuiConstantsEx.au3>
GUICreate("GUI input", 200, 200)
$input = GUICtrlCreateInput("", 20, 50, 160)
$Boton = GUICtrlCreateButton("Seguir", 50, 140, 100)
GUISetState(@SW_SHOW)
$msg = 0
While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg()
Select
Case $msg = $Boton
ExitLoop
EndSelect
WEnd
MsgBox(4096, "Información del input", GUICtrlRead($input))
Con el botón "Seguir" cerramos el formulario y muestra el valor $input.
Lo que quiero es que además de con el botón "Seguir" haga lo mismo al pulsar Enter.
Es decir, que al teclear un valor en el input y pulsar Enter, se comporte igual que si pulsáramos el botón "seguir".
No sé si me explico..
Muchas Gracias!!
Reacción formulario al pulsar Enter
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Reacción formulario al pulsar Enter
Una manera es hacer el botón el control por defecto en el formulario, para ello después de crearlo con GUICtrlCreateButton pon esta línea:
GUICtrlSetState(-1, $GUI_DEFBUTTON)
Una sugerencia, puedes incluir la comprobación de $GUI_EVENT_CLOSE dentro del mismo Select donde miras el botón. O bien, ya que sólo miras el botón dentro del Select puedes cambiarlo por un IF y simplificas código.
Es mejor la primera opción, así si creas más controles (o quieres mirar otros eventos de sistema como @SW_MINIMIZE) sólo tienes que añadir más casos Case.
En este tutorial se crea un GUI que maneja un esquema similar, hago un bucle "infinito" y miro todos los eventos dentro del Select (en realidad uso un Switch, creo que para esto es más compacto). Puede que sea cuestión de gustos pero creo que es mejor tratar todos los eventos de manera homogénea, en vez de unos en el While y otros en el Select.
http://www.emesn.com/autoitforum/viewto ... f=2&t=2246
Saludos
GUICtrlSetState(-1, $GUI_DEFBUTTON)
Una sugerencia, puedes incluir la comprobación de $GUI_EVENT_CLOSE dentro del mismo Select donde miras el botón. O bien, ya que sólo miras el botón dentro del Select puedes cambiarlo por un IF y simplificas código.
Es mejor la primera opción, así si creas más controles (o quieres mirar otros eventos de sistema como @SW_MINIMIZE) sólo tienes que añadir más casos Case.
En este tutorial se crea un GUI que maneja un esquema similar, hago un bucle "infinito" y miro todos los eventos dentro del Select (en realidad uso un Switch, creo que para esto es más compacto). Puede que sea cuestión de gustos pero creo que es mejor tratar todos los eventos de manera homogénea, en vez de unos en el While y otros en el Select.
http://www.emesn.com/autoitforum/viewto ... f=2&t=2246
Saludos
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: Reacción formulario al pulsar Enter
Gracias Ximorro!!
Estoy aprendiendo Koda y todavía me pierdo en lo básico.
Respecto a lo que comentas, efectivamente es mejor solución. De hecho creo que es así como viene en los examples de funcion.
Gracias por pasarme el link, lo voy a mirar detalladamente.
Un saludo!
Estoy aprendiendo Koda y todavía me pierdo en lo básico.
Respecto a lo que comentas, efectivamente es mejor solución. De hecho creo que es así como viene en los examples de funcion.
Gracias por pasarme el link, lo voy a mirar detalladamente.
Un saludo!