我想在编辑框中输入十六进制数请问那个输入模式怎么设置:左边显示00000000:然后才可以输入十六进制数的呢;
并且输完一个数产生一个空格的那种形式,也就是输入十六进制数最常用的那种格式怎么做出来的?
并且输完一个数产生一个空格的那种形式,也就是输入十六进制数最常用的那种格式怎么做出来的?
解决方案 »
- 急求CString、CByteArray及CSafeArray区别
- 驱动开发中我们能不能获取像软驱等中断信号呀?
- 遇到这么个问题(续) bolon_578 这个前辈给了一个思路 但是再加上我另外一个思路的时候 我自己就编辑混乱了 能给出源码指导吗 谢谢 请先看我自己的笨方法
- [交流]SNMP Agent扩展主要步骤,内容及问题
- *****************哪位兄弟懂swarm,或者有objective c的资料**************
- 如果函数返回一个字符串指针,那么他真正的字符串是放在哪里的?
- 怎么编程实现禁止软驱和usb存储设备的读写,请高手帮忙啊
- 关于并口编程的问题?
- 如何在检查列表框中给显示的记录设置颜色?
- 有没有将数字字符串转变为数字的函数?
- com对象,增加了连接点,定义了事件,在该类中激活用fire_eventname,如何在其他类中激活这个事件??具体见内容!
- ISAPI相关的问题,不在iis的ISAPI筛选器里选择自己的DLL还有办法让IIS在启动的时候调用自己写的dll吗?
在PreTranslateMsg中处理按键消息就好了
或则去codeproject当个代码用
具体怎么做 ?codeproject的哪里有阿?
支持十六进制<=>文本双模式切换编辑这样的功能怎么实现阿
大虾帮忙了阿!!!!!!!!!!!
在OnChar中处理
{
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;
}
//功能:若是在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);
}