我想在编辑框中输入十六进制数请问那个输入模式怎么设置:左边显示00000000:然后才可以输入十六进制数的呢;
并且输完一个数产生一个空格的那种形式,也就是输入十六进制数最常用的那种格式怎么做出来的?

解决方案 »

  1.   

    从CEdit继承一个类
    在PreTranslateMsg中处理按键消息就好了
      

  2.   

    将编辑框重载
    或则去codeproject当个代码用
      

  3.   

    MITSMI(体育世界开始啦,你准备好了吗?) 
    具体怎么做 ?codeproject的哪里有阿?
      

  4.   

    十六进制编辑器 怎么实现哪有具体的例子程序:
    支持十六进制<=>文本双模式切换编辑这样的功能怎么实现阿
    大虾帮忙了阿!!!!!!!!!!!
      

  5.   

    而且还支持十六进制串的输入和发送0x12 0x23 0x34这样的输入形式怎么做阿??
      

  6.   

    派生一个CEdit
    在OnChar中处理
      

  7.   

    int String2Hex(CString str, CByteArray &senddata)
    {
    int hexdata,lowhexdata;
    int hexdatalen=0;
    int len=str.GetLength();

    senddata.SetSize(len/2);

    for(int i=0;i<len;)
    {
    char lstr,hstr=str[i];
    if(hstr==' ')
    {
    i++;
    continue;
    }
    i++;
    if(i>=len)
    break;
    lstr=str[i];
    hexdata=ConvertHexChar(hstr);
    lowhexdata=ConvertHexChar(lstr);
    if((hexdata==16)||(lowhexdata==16))
    break;
    else 
    hexdata=hexdata*16+lowhexdata;
    i++;
    senddata[hexdatalen]=(char)hexdata;
    hexdatalen++;
    } senddata.SetSize(hexdatalen);
    return hexdatalen;
    }
      

  8.   

    //这是一个将字符转换为相应的十六进制值的函数
    //功能:若是在0-F之间的字符,则转换为相应的十六进制字符,否则返回-1
    char ConvertHexChar(char ch) 
    {
    if((ch>='0')&&(ch<='9'))
    return ch-0x30;
    else if((ch>='A')&&(ch<='F'))
    return ch-'A'+10;
    else if((ch>='a')&&(ch<='f'))
    return ch-'a'+10;
    else return (-1);
    }