MFC编辑框16进制字符串输入问题
答案:3 悬赏:80 手机版
解决时间 2021-02-26 12:09
- 提问者网友:献世佛
- 2021-02-25 13:31
现在有很多个编辑框,要只能输入16进制的字符,要怎么弄??还有怎么把输入的字符保存下来,求详细步骤,不用给代码,当然有的话是最好的 O(∩_∩)O哈哈~
最佳答案
- 五星知识达人网友:西风乍起
- 2021-02-25 14:51
1)
方法有很多,但我会选择在PreTranslateMessage函数中截获传给编辑框 (IDC_EDIT1)的WM_CHAR消息,如果输入不是0~F就丢弃。
2)
方法有个
>> 调用GetDlgItem(IDC_EDIT1)->GetWindowText 获得目前的编辑框中的文本并保存
>> 将编辑框映射为一个CEdit变量 m_edit,就可以直接m_edit.GetWindowText
>> 将编辑框直接映射为一个CString变量,不过在保存CSting变量之前要先调用一下UpdateData(TRUE); 保证DDX完成。
方法有很多,但我会选择在PreTranslateMessage函数中截获传给编辑框 (IDC_EDIT1)的WM_CHAR消息,如果输入不是0~F就丢弃。
2)
方法有个
>> 调用GetDlgItem(IDC_EDIT1)->GetWindowText 获得目前的编辑框中的文本并保存
>> 将编辑框映射为一个CEdit变量 m_edit,就可以直接m_edit.GetWindowText
>> 将编辑框直接映射为一个CString变量,不过在保存CSting变量之前要先调用一下UpdateData(TRUE); 保证DDX完成。
全部回答
- 1楼网友:爱难随人意
- 2021-02-25 16:33
cstring strsetting;
strsetting.format("0x%02x",horiznum);//数值0x03转换成字符串 "0x03"
_bstr_t zeros = (_bstr_t)strsetting;
//发送数据,略
- 2楼网友:神的生死簿
- 2021-02-25 16:26
这个合法性检测可以有两种方法,一种就是在编辑框内容即将变化或者已经变化消息检测,看起来就像是实时检测,还有一种就是输入完成后,在进行下一步操作的时候先判定,比如点击保存按钮的时候进行检测,若不符合条件,指定编辑框焦点,提示用户输入不合法。至于保存数据,可以绑定变量,调用updatedada()函数,FALSE代表控件变量显示,TRUE代表对话框数据传入控件变量(保存),还可以用GetDlgItem(控件ID)->SetWindowText()和GetDlgItem(控件ID)->GetWindowText();
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯