一个编辑框控件,现在要求可以输入:
1:123(整数)
2:12.3(带小数点)
3:-123(带负号)
4:-12.3(都带)
5:0.123 以上几种情况。。要求在输入的时候进行判断。。例如:在编辑框中,先输入一个 1,后面就只能输入 数字和逗号;输入的其它的字符,编辑框内不显示。先输入一个 - (负号),后面就只能输入(第二位)数字,(第三位以后)数字和逗号;输入的其它的字符,编辑框内不显示;请教大家有什么好的方法,可以实现以上的判断。并做出正确的处理!!!求方法或者思路。。谢谢大家了!!!

解决方案 »

  1.   


    你的规则不是很清楚了吗额?按照这个规则,在 OnChar  里判断当前输入的内容,再做相应的处理即可。
      

  2.   

    OnChar里。判断你键盘输入的是什么就可以了,或者你直接弄几个按钮,像计算器一样,然后杜绝键盘消息就可以了。。
      

  3.   

    你關聯一個double的變量就可以了吧
      

  4.   

    响应EN_CHANGE、EN_UPDATE应该也可以的
      

  5.   

    EN_CHANGE 是你在输入后在能捕捉到的输入后必然会在对话框上显示出来??
      

  6.   

    本人的思路大致是这样的:CString   str; 
    GetWindowText(str);
    if(str.len == 0)
    {
    数字+负号
    }
    else if(第一位是负号)
    {
    if (str.len == 1)
    {
    数字

    else
    {
    数字 + 逗号(注意只能有一个逗号)
    }
    }
    else if(第一位是0)
    {
    if (nChar == 0) //第二位不能是 0
    {
    数字

    else
    {
    数字 + 逗号(注意只能有一个逗号)
    }
    }
    else
    {
    数字+逗号(注意只能有一个逗号)
    }请大家看看还有那些错误!!!