现在有很多个编辑框,要只能输入16进制的字符,要怎么弄??还有怎么把输入的字符保存下来,求详细步骤,不用给代码,当然有的话是最好的 O(∩_∩)O哈哈~
读取输入框内容,保存到buf中
然后写个函数调用处理,把都到的内容转化成十六进制
然后写个函数调用处理,把都到的内容转化成十六进制
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-10-20
这个合法性检测可以有两种方法,一种就是在编辑框内容即将变化或者已经变化消息检测,看起来就像是实时检测,还有一种就是输入完成后,在进行下一步操作的时候先判定,比如点击保存按钮的时候进行检测,若不符合条件,指定编辑框焦点,提示用户输入不合法。至于保存数据,可以绑定变量,调用updatedada()函数,FALSE代表控件变量显示,TRUE代表对话框数据传入控件变量(保存),还可以用GetDlgItem(控件ID)->SetWindowText()和GetDlgItem(控件ID)->GetWindowText();
第2个回答 推荐于2016-06-23
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完成。本回答被提问者和网友采纳