Página 1 de 1
Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 21:19
por korsal
Bueno veran es una duda que tengo desde hace tiempo y quisiera saber si ustedes me la podrian resolver.
Mi pregunta es la siguiente, como puedo unir un checkbox ( los cuadraditos que si le das click se pone un tick) con una imput de texto,
me explico quiero hacer lo siguiente al marcar la casilla checkbox quiero que se active el texto que tengo escrito en la imput de texto y que se mande con la tecla enter, pero solo si la checkbox esta marcada si no no. Porfavor ayudenme es lo unico que me falta para terminar mi programa y no encuentro nada en ningun manual, os dejo una imagen y el codigo fuente para los que no me entendieron.
http://imageshack.us/photo/my-images/12/autoitduda.jpg/
Y el codigo fuente para orientaros un poco:
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 588, 249, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 32, 56, 73, 81)
$Input1 = GUICtrlCreateInput("Input1", 120, 88, 377, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Espero que alguien me pueda solucionar la duda.
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 21:30
por ms999
al marcar la casilla checkbox quiero que se active el texto que tengo escrito en la imput de texto y que se mande con la tecla enter, pero solo si la checkbox esta marcada si no no.
No entendi muy bien...
¿Puede ser esto a lo que te referis?
Mientras la checkbox esta activada el input esta habilitado, sino no.
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 588, 249, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 32, 56, 73, 81)
$Input1 = GUICtrlCreateInput("Input1", 120, 88, 377, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox1
If Guictrlread($Checkbox1) = $GUI_CHECKED Then
Guictrlsetstate($input1, $GUI_DISABLE)
Else
Guictrlsetstate($input1, $GUI_ENABLE)
EndIf
EndSwitch
WEnd
Dime si es esto lo que querias.
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 21:34
por korsal
si a eso me referia esta muy bien pero en vez de que se active cuando le des al checkbox quiero que este desabilitado cuando enciendes el programa y que luego se active cuando le des al checkbox.
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 21:42
por ms999
Mira el comando que use para deshabilitar el input, y tambien el que use para checkear la condicion del checkbox
Código: Seleccionar todo
If Guictrlread($Checkbox1) = $GUI_UNCHECKED Then
Guictrlsetstate($input1, $GUI_DISABLE)
Else
Guictrlsetstate($input1, $GUI_ENABLE)
EndIf
Si te fijas en la ayuda te dice para que son y que parametros podes usar con ellos y las UDFs que necesitas para hacerlos funcionar, ademas vienen con un ejemplo para que veas como usarlos tambien.
Todo esto lo puse para que se haga solamente cuando aprietes en el checkbox, dentro del case $CheckBox1
Si queres que el input se deshabilite al comienzo del script solo tenes que hacerlo usando uno de esos comandos antes del bucle, yo personalmente lo hago luego de la creacion del control.
algo asi como
Código: Seleccionar todo
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 32, 56, 73, 81) ; Aca cree el checkbox
Guictrlsetstate(-1, $GUI_DISABLE) ; Aca lo deshabilito
El -1 lo pongo porque asi toma en cuenta el ultimo control creado, lo hago para no poner el nombre de la variable denuevo.
¿Aver si lo resolves vos? no es tan dificil
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 21:50
por korsal
Aun que yo a lo que me referia era que justo cuando abra el programa la imput este desactivada por defecto y luedo al marcar la checkbox se active.
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 22:05
por ms999
Vamos que no esta tan dificil... ya te dije como hacerlo....
Lo primero es...
Debajo de la linea donde se crea la input, tenes que poner una linea que la deshabilite. eso ya te lo di.
Ahora fijate la condicion y ve que dice...
Código: Seleccionar todo
If Guictrlread($Checkbox1) = $GUI_CHECKED Then ; Si la checkbox esta tildada hacemos lo siguiente...
Guictrlsetstate($input1, $GUI_ENABLE) ; Cambiamos el estado del control $Input1 a $Gui_Enable osea lo habilitamos
else ; Sino(sino esta tildada)....
Guictrlsetstate($input1, $GUI_DISABLE) ; Deshabilitamos el control $Input1
EndIf ; Cerramos la condicion....
¿Cuando deberia hacer esta comprobacion?
Y bueno... lo ponemos para que lo haga cuando se clickee la checkbox¿No te parece?
entonces le agragamos un case mas al bucle
Código: Seleccionar todo
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox1 ; esto se va a hacer cuando se clickee sobre la checkbox.
If Guictrlread($Checkbox1) = $GUI_CHECKED Then
Guictrlsetstate($input1, $GUI_ENABLE)
Else
Guictrlsetstate($input1, $GUI_DISABLE)
EndIf
EndSwitch
WEnd
Espero que te haya quedado claro y espero mas que hallas aprendido algo de esto.
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 22:08
por korsal
Muchisimas gracias ya e resuelto mi duda gracias otra vez
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 27 Jun 2011, 22:18
por korsal
otra cosa se me olvidaba si quiero añadir 3 imput box como puedo hacerlo para cada una??
lo e intenado copiando el codigo que me pasaste y cambiando solo el numero de la checkbox y imput a 2 pero no me va
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 28 Jun 2011, 00:05
por ms999
postea el codigo que hiciste.
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 28 Jun 2011, 01:08
por korsal
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 501, 212, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 16, 24, 17, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 16, 64, 17, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 16, 104, 17, 17)
$Input1 = GUICtrlCreateInput("Input1", 48, 16, 337, 21)
$Input2 = GUICtrlCreateInput("Input2", 48, 64, 337, 21)
$Input3 = GUICtrlCreateInput("Input3", 48, 104, 337, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox1
If Guictrlread($Checkbox1) = $GUI_CHECKED Then
Guictrlsetstate($input1, $GUI_ENABLE)
Else
Guictrlsetstate($input1, $GUI_DISABLE)
EndIf
EndSwitch
WEnd
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox1
If Guictrlread($Checkbox2) = $GUI_CHECKED Then
Guictrlsetstate($input2, $GUI_ENABLE)
Else
Guictrlsetstate($input2, $GUI_DISABLE)
EndIf
EndSwitch
WEnd
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox1
If Guictrlread($Checkbox3) = $GUI_CHECKED Then
Guictrlsetstate($input3, $GUI_ENABLE)
Else
Guictrlsetstate($input3, $GUI_DISABLE)
EndIf
EndSwitch
WEnd
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 28 Jun 2011, 05:06
por ms999
Claro que no va a funcionar. Deberias usar solo un bucle para eso. Mi consejo es que leas esto y hagas los tutoriales para qeu aprendas lo básico primero y si tienes alguna duda posteala aca.
Te dejo el Link para que veas:
Nuevo en Autoit: POR DONDE EMPEZAR
Y te dejo el code arreglado. Pero no esperes que te ayude escribiendo tus scripts por vos si no intentas aprender por tu cuenta, ve por los tutos y aprende, aca te ayudamos y bastante si de verdad quieres aprender
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 501, 212, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 16, 24, 17, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 16, 64, 17, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 16, 104, 17, 17)
$Input1 = GUICtrlCreateInput("Input1", 48, 16, 337, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input2 = GUICtrlCreateInput("Input2", 48, 64, 337, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input3 = GUICtrlCreateInput("Input3", 48, 104, 337, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox1
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
GUICtrlSetState($Input1, $GUI_ENABLE)
Else
GUICtrlSetState($Input1, $GUI_DISABLE)
EndIf
Case $Checkbox2
If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
GUICtrlSetState($Input2, $GUI_ENABLE)
Else
GUICtrlSetState($Input2, $GUI_DISABLE)
EndIf
Case $Checkbox3
If GUICtrlRead($Checkbox3) = $GUI_CHECKED Then
GUICtrlSetState($Input3, $GUI_ENABLE)
Else
GUICtrlSetState($Input3, $GUI_DISABLE)
EndIf
EndSwitch
WEnd
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 28 Jun 2011, 12:43
por korsal
Muchas gracioas por tu ayuda ya esta areglado, haora me empezare a documentarme mas.
Re: Pregunta Sobre los CheckBox y los Imput
Publicado: 29 Jun 2011, 09:01
por Ximorro
Una cosa sobre la comprobación del checkbox, hacerlo así puede dar problemas, como ya lo he dicho varias veces os enlazo otro comentario:
http://www.emesn.com/autoitforum/viewto ... 845#p10845