Page 1 of 1

TSwitch onchange y el valor lChecked

Posted: Tue Oct 31, 2017 1:34 am
by Claudio C
Estimados:

Tengo un problema con TSwitch
1) Inicio la propiedad lChecked en .t.
2) Al cambiar de estado capturo el evento

METHOD SWChange( oSender ) CLASS xxxxx
local lEstado := ::oSW:lChecked

y en este metodo la propiedad lChequed sigue en .t. ( cuando ese era el estado inicial y hubo un cambio de estado )

3) Al salir del método cambia efectivamente en pantalla ...

Por el efecto visual del cambio hay un cierto delay en el 'movimiento' en pantalla y pareciese que el valor modificado solo se establece al 'terminar' este movimiento.

Si eso es correcto ... no puedo capturar el nuevo valor...
Si no debería haber un beforeChange() / afterchange() que de el valor antes del cambio o cuando ya se terminó de establecer.

Aguardo respuesta ( antes de volver a un checkbox )
Gracias por su tiempo.

Re: TSwitch onchange y el valor lChecked

Posted: Tue Oct 31, 2017 9:35 am
by ignacio
Buenos días,

Si pudiera tener más de dos estados podría entender el problema. Le sugiero que haga:

lNewState := !oSender:lChecked

Podríamos tener un evento OnChanged como tenemos en algunos casos, pero me parece excesivo. Se ha modificado la clase para que mande como parámetro el nuevo valor.

Saludos