对话框的一个edit控件,我想让限制用户只能按十六进制的格式输入,现在接收的字符已经限定为0~F,格式的问题一直没有解决(空格出不能输入)。下了一些类,太过复杂,想自己写处理函数。希望高手不吝赐教,如果问题解决,分不够,我会另开贴送分的,我分分多~~~~~~~~~~~~~~~

解决方案 »

  1.   

    处理WM_CHAR消息,如果是非法的就禁止,如
    http://www.codeproject.com/editctrl/hexedit.asp
      

  2.   

    http://www.codeproject.com/editctrl/chexedit.asp
      

  3.   

    自己处理OnChar,只能输入abcdef和0-9
    不过用正则也不错
      

  4.   

    http://www.codeguru.com/cpp/controls/editctrl/article.php/c3927/
      

  5.   

    我想实现的是:编辑hex时每编辑完一个字符,光标自动跳到下一个字符编辑处,不经过中间的空格
      

  6.   

    you should subclass your edit control and ...
    case WM_CHAR:
    if(wParam>='0'&&wParam<='9'||wParam>='a'&&wParam<='f')
    {
            sprintf(buff,"%c",wParam);
             strcat(TempBuff,buff);
             SetWindowText(hwnd,TempBuff);
    SendMessage(hwnd, EM_SETSEL,strlen(TempBuff),-1); }