La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3042 - COMO SE CAPTURA UN EVENTO EN VISUAL FOX 6
Autor:  Sara Cecilia Vargas Sarmiento
Tengo un formulario con evento Valid para los TextBox y los controles los diseñé en un CommandGroup. Cuando estoy modificando información en un TextBox y oprimo Cancelar lo que deseo es regresar al estado original del registro y que salga de los textBox sin disparar el evento Valid, pero parece que éste tiene prioridad y se ejecuta antes que el evento clic en el botón cancelar. Necesito saber cómo interpreta Visual Fox 6 que ocurrió un evento clic para controlarlo en el evento Valid de los TextBox.

  Respuesta:  francisco cooper
Esto se puede hacer de diferentes maneras 1FN:
en el GOTFOCUS DEL TEXTO "textbox" debe capturar lo que tiene el campo, debe crear una variable
publica o privada ej:
(gcdes = this.value) "el valor es el del texto"
si se preciono el boton cancel debe deterimar o preguntar
si gcdes = al valor que estoy escribiendo
si es que no ; debe gregresar el valor gcdes
al texto ej: "this.value = gcdes" , si es al campo ej: "xtabla.xcampo = gcdes", el puntero estara parada en el registro de modificacion. o actual

  Respuesta:  Jeg
Hola amigo, lo que debes hacer es ponerle el valor True (.T.) a la propiedad cancel del botón cancelar. Para estar más seguro agregas las sigientes lineas en el evento valid del Textbox

if lastkey() <> 27
* aqui va el código de tu validación
endif

a mi me ha funcionado espero que a ti también.
cuentame como te fue.