Lo que yo seleccione en los checkbox me aparezca

Felicidades por tu trabajo en esta web.
Tengo un pequeño problema, es fácil pero aun no puedo solucionarlo, dentro de un container (C_materias) tengo un conjunto de Checkbox (check1, check2, check3...) cada uno de ellos tiene una materia en el caption, ej.: Literatura, Matemática, historia...) entonces tengo un textbox(txtMaterias).
Pues lo que quiero es que cuando selecciono un check, el texto me aparezca en el textobox, por ejemplo
si selecciono el check que dice Literatura, que me salga dentro del txtbox LITERATURA.
Espero que me puedan ayudar, es un proyecto de la escuela.
Saludos y gracias... Email: [email protected], [email protected]

1 Respuesta

Respuesta
1
Lo que tienes que hacer es escribir en el evento InteractiveChange de cada CheckBox lo siguiente:
if this.value = 1
      ThisForm.Text1.value = this.caption
Endif
Gracias Experto, ya sale.
Ahora bien, si tengo varios checkbox, y selecciono varios, ¿cómo hago para que salga separado
por un coma el textbox?
Saludos y gracias de ante mano.
Ok,
Para ese caso necesitas poner en el InteractiveChange de cada CheckBox lo siguiente:
Thisform.text1.value = ""
If ThisForm.Container1.Check1.value = 1
Thisform.text1.value = Thisform.text1.value + ThisForm.Container1.Check1.caption + ", "
EndIf
If ThisForm.Container1.Check2.value = 1
Thisform.text1.value = Thisform.text1.value + ThisForm.Container1.Check2.caption + ", "
EndIf
If ThisForm.Container1.Check3.value = 1
Thisform.text1.value = Thisform.text1.value + ThisForm.Container1.Check3.caption + ", "
EndIf
Thisform.text1.value = left(Thisform.text1.value, len(Thisform.text1.value) -2 )
*Esto suponiendo que solo tienes 3 CheckBox, si tuvieras mas, le debes agregar los "IF" correspondientes por cada checkbox
Gracias, eso ya me funciona, pero si selecciono dos checkbox, primero se pone uno en el textbox con la coma, pero si selecciono otro se borra el anterior y se pone el que seleccione...
Espero que entiendas para que me expliques.
Saludos
Lo que tienes que hacer, es crear un método en el formulario que se llame "texto", (menú formulario / nuevo método)
En este método nuevo escribe el siguiente código:
cTexto = ""
If ThisForm.Container1.Check1.value = 1
cTexto = alltrim(ThisForm.Container1.Check1.caption) + ", "
endif
If ThisForm.Container1.Check2.value = 1
cTexto = cTexto + alltrim(ThisForm.Container1.Check2.caption) + ", "
endif
If ThisForm.Container1.Check3.value = 1
cTexto = cTexto + alltrim(ThisForm.Container1.Check3.caption) + ", "
endif
thisform.txtMaterias.value = left(cTexto, len(cTexto) -2)
thisform.refresh
* Y en el evento InteractiveChange de cada Checkbox llama al metodo de la siguiente forma:
thisform.texto()
Disculpa, aun tengo problemas con esto,
yo quiero que al seleccionar un checkbox, me aparezca en un textbox, si selecciono dos checkbox, que
Aparezca en el textbox, si deselecciono un checkbox de esos, que se desaparezca del textbox también
espero me puedan ayudar.. :S
Ya probé el código que te mande, y si funciona tal como lo solicitas, el método "texto" que creamos verifica que checkbox están seleccionados, y según eso llena el textbox.
Veriica si has copiado bien el código, y si has puesto bien el código correspondiente en el InterectiveChange de cada Checkbox
si aun tienes problemas, enviame tu correo para enviarte mi ejemplo, indicame también la version del vfp que usas
Hola, por favor, enviame el ejemplo a: [email protected]
Tengo Visual FoxPro 8.0
Gracias de antemano
Ya te envíe el archivo, cualquier duda me la comentas.
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas