Visual Basic - Duda

Life is soft - evento anual de software empresarial
 
Vista:

Duda

Publicado por Jose (12 intervenciones) el 16/05/2003 12:16:32
Tengo 5 labels y un Checkbox que está inhibido . Cuando pincho con el mouse sobre uno de los labels el checkbox se deshibibe y puedo actuar sobre el. ¿Como hago para que el codigo que tiene que ejecutar el checkbox unicamente la haga en el label pinchado ?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda

Publicado por Malcom (51 intervenciones) el 16/05/2003 12:24:39
Puedes crearte una variable de tipo Byte y en función del label pinchado darle un valor, de tal manera que en función de éste el checkbox actuará unicamente sobre el label seleccionado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda

Publicado por Jose (12 intervenciones) el 16/05/2003 13:50:54
Perdona, soy novato, lo he intentado pero no me funciona.
Podrias ponerme el código si no te importa?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda

Publicado por Malcom (51 intervenciones) el 16/05/2003 14:11:39
La mejor opción sería crear una matriz de controles te pongo un ejemplo:
Pongo un label sobre el formulario (Label1) lo copio y lo pego, te aparecerá un mensaje preguntando si deseas crear una matriz de controles, le dices que SI. Vuelves a pegar hasta que tengas 5 etiquetas.

Una vez que las tengas, picas sobre una de ellas y te llevará directamente al evento CLICK.

Pones ahora el siguiente código

*******************************************************************************
Option Explicit
Dim marca as Byte
'Establecela por defecto a algún valor
marca = 1

Private Sub Label1_Click(Index As Integer)
'Asignas a cada etiqueta un valor de la variable
Select Case Index
Case 0
marca = 1
Case 1
marca = 2
Case 2
marca = 3
Case 3
marca = 4
Case 4
marca = 5
End Select
End Sub

Private Sub Check1_Click()
'Con este código el CheckBox sabrá en que label se ha hecho click
Select Case marca
Case 1
'Pondrás el código que quieras para la etiqueta 1
Case 2
'... para la etiqueta 2
Case 3
'... para la etiqueta 3
Case 4
'... para la etiqueta 4
Case 5
'... para la etiqueta 5
End Select
End Sub
********************************************************************************
Espero que te sirva, si sigue sin salirte no te cortes en preguntar y te lo explico sin crear la matriz...

Un Saludo, Malcom
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda

Publicado por Malcom (51 intervenciones) el 16/05/2003 14:11:48
La mejor opción sería crear una matriz de controles te pongo un ejemplo:
Pongo un label sobre el formulario (Label1) lo copio y lo pego, te aparecerá un mensaje preguntando si deseas crear una matriz de controles, le dices que SI. Vuelves a pegar hasta que tengas 5 etiquetas.

Una vez que las tengas, picas sobre una de ellas y te llevará directamente al evento CLICK.

Pones ahora el siguiente código

*******************************************************************************
Option Explicit
Dim marca as Byte
'Establecela por defecto a algún valor
marca = 1

Private Sub Label1_Click(Index As Integer)
'Asignas a cada etiqueta un valor de la variable
Select Case Index
Case 0
marca = 1
Case 1
marca = 2
Case 2
marca = 3
Case 3
marca = 4
Case 4
marca = 5
End Select
End Sub

Private Sub Check1_Click()
'Con este código el CheckBox sabrá en que label se ha hecho click
Select Case marca
Case 1
'Pondrás el código que quieras para la etiqueta 1
Case 2
'... para la etiqueta 2
Case 3
'... para la etiqueta 3
Case 4
'... para la etiqueta 4
Case 5
'... para la etiqueta 5
End Select
End Sub
********************************************************************************
Espero que te sirva, si sigue sin salirte no te cortes en preguntar y te lo explico sin crear la matriz...

Un Saludo, Malcom
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda

Publicado por Jose (12 intervenciones) el 16/05/2003 14:37:33
Esto funciona.
¿Pero haciendolo sin la matriz, podría seleccionar labels, cajas de texto, u otro control que existiera en la form?
Gracias Malcom
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda

Publicado por Malcom (51 intervenciones) el 16/05/2003 16:31:14
Claro, imagínate que tienes los siguientes objetos:
Label 1
Label2
Text1
Text2
Frame1

Lo único que tendrias que hacer es asignarle a cada uno de esos objetos en su evento click (o en el que necesites) un valor a la variable (marca).

********************************************************************************
Ex.

Private Sub Label1_Click()
marca = 1
End Sub

Private Sub Label2_Click()
marca = 2
End Sub

Private Sub Text1_Click()
marca = 3
End Sub

Private Sub Text1_Click()
marca = 4
End Sub

Private Sub Frame1_Click()
marca = 4
End Sub

Y luego realizas pones el mismo código que te envie para el checkbox....
********************************************************************************

Malcom :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda

Publicado por Jose (12 intervenciones) el 17/05/2003 10:11:08
Muchas gracias Malcom, me has sido de gran ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda

Publicado por Jose (12 intervenciones) el 17/05/2003 10:19:27
Muchas gracias Malcom, me has sido de gran ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar