在VC可视化设计里,编辑框如果对应一个INT变量,默认只能输入10进制数,如果输入0x100,就会报错,要求输入0-255之间一个数。
我的想法是,希望我输入任何一个整型数都代表16进制数,比如,我输入11,那么对应变量接受数值实际为0x11.
请问如何实现?

解决方案 »

  1.   

    自己在UpdateData()之前进行类型转换
      

  2.   

    键盘事件,'0'-'9','a'-'f','A'-'F',判断一下就好了。
    如过仅需要0-255,也就是0x00-0xff,那么把edit长度设置成2就行了。
      

  3.   

    楼上的兄弟恐怕误会了我的意思!
    简单地说,我需要编辑框接受如0X123数,然后调用UpdateData()后就自动把对应的变量的值设为16进制的123
      

  4.   

    响应EN_CHANGE通知或者其它相关消息,自己判断输入是否合法。
      

  5.   

    首先判断是否输入的是合法字符,然后UpdateData()成CString 类型,在分析次字符串,自己写个转换函数转换下
      

  6.   

    BOOL StrToIntEx(
        LPCTSTR pszString,
        DWORD dwFlags,
        int *piRet
    );