Programación General > C++ Builder
Ignorar Teclas
(1/1)
ellerysammy:
Estoy agregando informacion a una base de datos desde unos Edit en los datos que necesito capturar esta una Edad, pero lo que quiero hacer es que en el Edit que la intento capturar no se pudan introducir letras e hize lo siguiente en el evento KeyPress del Edit
[CODE]
if((Key < '0') || (Key > '9'))
Key=0;
Pero al hacer esto tambie ignora el BackSpace es decir si se equivocan no pueden borrar como puedo hacer que ademas de aceptar solo numeros tambien tenga en cuenta cuando el usuario quiera corregir
_Viktor:
Si te sirve para numeros enteros positivos esta puede ser una solucion, en el constructor del formulario donde esta tu Edit haces lo siguiente:
--- Código: Text ---__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { LONG dwStyle = GetWindowLong(Edit1->Handle, GWL_STYLE); SetWindowLong(Edit1->Handle, GWL_STYLE, dwStyle | ES_NUMBER); }
Saludos!
The Black Boy:
Pues no se ... la solucion que yo tendría es utilizar un MaskEdit con este tu podrias indicar que solo sean #s de una manera muy facil..
este objeto se encuentra en:
--- Citar ---
En la hoja Additional de la paleta de componentes, seleccione el objeto MaskEdit y colóquelo en la forma.
Con el inspector de objetos, seleccione la propiedad EditMask haciendo doble clic, en ese instante aparecerá un editor de tipos en el que existe una variedad de tipos de datos definidos de los que puede seleccionar posteriormente..
o si quieres puedes utilizar el sgte: escribe en el campo InputMask lo siguiente por ejemplo 000 y luego le das Ok.. con esto solo podrá el usuario escribir #s y en una cantidad de solo 3 #s (son 3 ceros 000) y el BackSpace no tiene ningun problema
--- Fin de la cita ---
espero te sirva de lo contrario dime lo que te pasó
Saludos :hola:
cibervicho:
otra manera de hacerlo es:
[CODE]
if((Key < '0') || (Key > '9') && Key != 8)
Key=0; //Donde 8 es igual a Backspace
Espero te sirva, y hechale un vistazo a la tabla de caracteres ASCII, con eso puedes encontrar muchas soluciones al calidar caracteres.
Suerte!!!
ellerysammy:
Gracias a todos me fueron muy utiles sus aportes....
(que mala costumbre de garadecer todo... bueno ni tan mala)... :hola:
Navegación
Ir a la versión completa