C/Visual C - Edits númericos

 
Vista:

Edits númericos

Publicado por Nelek (816 intervenciones) el 19/04/2006 16:06:38
Hola de nuevo,

en mi proyecto (VC++ 6), tengo una ventana donde se piden datos para la variable "entrada" y me funciona casi perfecto. Sólo tengo un problemilla:

Tengo varios controles "EditBox" donde sus variables miembros son "CString", "double" e "int". En los controles cuya variable miembro son de tipo numerico he activado la opcion que restringe la entrada de datos a numeros. En los controles "int" me funciona perfecto y en los CString tambien, pero me he topado con un problema, y es que... en los de tipo "double" (el valor que se ha de introducir en ellos es el de las fronteras de un intervalo, es decir " [ X1, X2 ] ") si le meto valores enteros luego obtengo el valor con decimales, es decir, si pongo 1 realmente estoy guardando 1.000000 (que es lo que quiero porque luego necesito operar con ellos), pero claro, no puedo poner valores decimales en la entrada de datos porque no me admite ni el punto ni la coma.

Alguien sabe o se le ocurre como evitarlo?

(A parte de lo de validar los datos con el "isdigit" y en caso de que no sea que salga un mensaje de error y pida de nuevo la entrada de dichos datos, que será lo que acabe intentando si no logro hacerlo de otra manera).

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Edits númericos

Publicado por fernando.gomez (1603 intervenciones) el 19/04/2006 21:24:56
En este caso, lo que tienes que hacer es lo siguiente. Create una clase que herede de CEdit. En esta clase, en su mapa de mensajes, captura el mensaje WM_CHAR. Luego, sobreescribe el método OnChar. Ahí, haz la validación, y lleva tu conteo del punto (o coma).

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar