Tal como dice Oscar, no le han entendido bien lo que solicita, y no se si la solución de Idalberto lo complete.
El control que oficia de Esc, no produce naturalmente el KEYBOARD ESC, por lo que analizar lastkey() en ningún lado dará resultado.
Tampoco la solución de Idalberto pareciera que pudiera resultar, porque el usuario puede haber cargado algo el campo y decide cancelar, entonces, chequear que esté en blanco no daría resultado.
No me queda claro como el usuario está ingresando los datos en el monitor touchscreen (tiene un teclado gráfico?, en pantalla, usa un teclado adosado?, ambos?)
Se me ocurre que una solución sería que en el evento doubleclick del textbox, se invoque el evento click del elemento visual que emula la tecla esc.
Al usuario, se le puede indicar que si quiere cancelar, haga doble click sobre el control actual (sería tocar dos veces rápidamente en sucesión sobre dicho control) si es que el touchscreen logra detectar tal evento.
Otra solución sería que en el evento keypress del control, detectes algún tipo de caracter "anómalo" para el dato que se ingresa en el textbox y ese caracter se interprete como ESC.
Evidentemente, la modalidad touchscreen que se esta popularizando, y que bajo ciertas circunstancias de trabajo, son a mi entender "una porquería".
Imaginen un touchscreen en un dispositivo donde el operador tenga las manos "sucias, mojadas, con guantes gruesos, o que no pueda mirar el touchscreen". En esas situaciones, el teclado gráfico no provee un feedback táctil apropiado al operador.
Por ejemplo, utilizo un smartfone cuando salgo a caminar para marcar los tiempos parciales y/o totales por cada tramo de recorrido. Con un teclado físico, simplemente pulso una tecla "destacada" (fácil de ubicar con los dedos, y protegida de pulsaciones involuntarias) y registro la marca (no necesito siquiera mirar el dispositivo).
Con un teclado touchscreen, tengo que activar el teclado (si lo dejo activado, cualquier rose en el bolsillo dispara alguna acción inapropiada), luego de activar, tengo que desbloquear, y si o si mirar la pantalla para ubicar la tecla "dibujada" que corresponda a la función deseada (y debo mirar, porque los smartfones, pueden cambiar la pantalla activa por su propio funcionamiento, y no dejar en primer plano la aplicación cronometro en mi caso).
Algo parecido pasa con los dataentry, ellos miran el documento que tiene que cargar, no miran el teclado físico, porque esté tiene marcas táctiles que les permite ubicar las manos (tocar letras F, J y el 5 del pad numérico). Si usan un touchscreen, tienen que reubicar las manos, mirando la pantalla (pierden de vista el documento), no lo veo ágil.
Con esto, no quiero decir que rechazo el touchscreen, en muchas situaciones puede ser de mucha utilidad, a mi modo de ver, un touchscreen reemplaza al mouse, en forma mucho más intuitiva, pero no lo veo en general como una panacea para reemplazar un teclado, al menos, cuando este se usa para entrar muchos datos.
Saludos: Miguel, La Pampa (RA)
Larga Vida y Prosperidad
Que la Fuerza los acompañe a tomar la sopa con el plato encima del martillo neumático, ENCENDIDO ;-D