Cancelar una pulsacin de teclado

Hola. Estoy personalizando una clase de TextField
y en el evento KeyDown estoy evaluando la tecla pulsada (key) para comprobar que est en el rango de teclas admitidas (nmeros, por ejemplo).

La cuestin es que no se como hacer que si no est en el rango la tecla no se agregue al text.

He probado poniendo key = “”
y retornando false, ya que KeyDown retorna un boleano.

Alguna idea ?

Si quieres cancelar un pulse, retorna True en Keydown.

Por ejemplo :

If key = "A" then Return True

“A” sera cancelado.

Yo estaba haciendo justo al revs. Retornaba False.
Que fallo no comprobarlo antes.

Hola Cecilio,

Si realmente quiere limitar la entrada de texto en un TextField a que slo sea numrico, puede utilizar la propiedad Mask de la clase TextField para indicarlo. Por ejemplo, con MiTextField.Mask = "9" estaramos aceptando la entrada opcional de un dgito, mientras que con MiTextField.Mask = "99" estaramos aceptando la entrada opcional de hasta dos dgitos en el campo. Por supuesto, puede definir la mscara en cdigo o a travs del panel Inspector en el IDE.

Javier

Cecilio:
Tambien puedes “jugar” con TextField.LostFocus y TextField.SetFocus.
Cuando el control pierde el foco compruebas que lo introducido este dentro del rango permitido, si no lo esta vuelves a mandar el foco al control.

Eu.