CheckBox

dav_gij
18 de Mayo del 2004
Tengo el evento click en el checkbox,si cambio el estado del checkbox por código me va a esa función,¿cómo podría saber que va sólo cuando pincho con el ratón?

sdemingo
18 de Mayo del 2004
Prueba preguntando si tiene el foco antes de hacer nada con el...

dav_gij
18 de Mayo del 2004
¿Cómo si tiene el foco? Yo pongo esto:
If chkAnulado.SetFocus Then
Pero me da un error que me dice Error de compilación
Se esperaba una funcion o una variable.
También probe a igualarlo a true,a si es nulo,pero siempre me da el mismo error

Malkavian
18 de Mayo del 2004
Hola,
Puedes probar con :

If Check1.Value = vbChecked Then "LLamada a la fn"

Hasta luego!

dav_gij
18 de Mayo del 2004
La cuestión es que así siempre me va a entrar cuando tenga marcada la casilla.Lo que quiero es que sólo me entre cuando le doy al checkbox,ya sea para marcarlo o desmarcarlo.Si en un principio está marcado no tiene por qué entrarme en la función.Ya hice de todo y no se cómo hacerlo.

en?
18 de Mayo del 2004
para que sólo se te ejecute el código del Check1_Click puedes tener una variable Boolean, y cuando vayas a cambiar su .Value desde otra parte del programa cambias el valor y luego lo restauras. Bueno, sería así:

'esta variable a nivel de módulo, en un formulario o un módulo.
Public BloquearCheck As Boolean

'en el código del CheckBox primero evaluas la boleana
Private Sub Check1_Click()
If BloquearCheck Then Exit Sub
'... y aquí el código que sí tenga que ejecutar
End Sub

'y en cualquier parte del programa ya puedes poner
BloquearCheck = True
Check1.Value = vbChecked
BloquearCheck = False

y de esta forma sólo ejecutará el código del Check cuando hagas click en el Check manualmente.

dav_gij
18 de Mayo del 2004
Muchas gracias, me sacaste de un apuro.Yo empecé pensando algo así pero no me salía la solución