TE CUENTO COMO LO HAGO YO, YO HE ESTANDARIZADO TODOS MIS FORMULARIOS PARA QUE PULSANDO ESCAPE ESTOS SE CIERREN AUTOMATICAMENTE Y EN EL CASO EN QUE EN UN EVENTO VALID SIEMPRE LE PONGO LA CONDICION QUE AL PULSAR ESCAPE ESTE VALIDE
EJ:
control VALID
IF LASTKEY()==27
RETURN 1 &&VALIDACION CORRECTA PERDIA DEL FOCO
ENDIF
IF condicion * evalúa la condición de error
error = x
ENDIF
RETURN 0 * vuelve al control
*//
*// OTRA INFORMACION RELACIONADA QUE ME ACABO DE ENTERAR!!!
*//
SI EL FORMULARIO SE CIERRA PERO EL CONTROL NO PERMITE LA PERDIDA DEL FOCO POR LA VALIDACION PUES PUEDES INCLUIR ESTAS SENTENCIAS COMO PRIMER SENTENCIA DE COMPROBACION DENTRO DEL VALID() PARA FORZAR LA VALIDACION ANTE EL CIERRE DEL FORMULARIO.
IF THISFORM.RELEASETYPE!=0
WAIT [VALIDACION DEL CONTROL FORZADO, DEBIDO AL CIERRE DEL FORMULARIO] WINDOWS NOWAIT
RETURN .T.
ENDIF