MFC中,文本编辑框字符串的,读取,截取,操作不能正常显示。

我的文本编辑框是IDC_EDIT1_MAC,定义变量是m_MAC。它里面的字符是扫描枪扫了设备的MAC号后显示出来的,现在我要对文本框中的字符串进行操作。我是这样做的:C... 我的文本编辑框是IDC_EDIT1_MAC,定义变量是m_MAC。它里面的字符是扫描枪扫了设备的MAC号后显示出来的,现在我要对文本框中的字符串进行操作。我是这样做的:
CString str;
CWnd *pEdit = GetDlgItem(IDC_EDIT1_MAC);
pEdit->GetWindowText(m_MAC);
CString str0=m_MAC.Mid(0,2);
CString str1=m_MAC.Mid(2,2);
CString str2=m_MAC.Mid(4,2);
CString str3=m_MAC.Mid(6,2);
CString str4=m_MAC.Mid(8,2);
CString str5=m_MAC.Mid(10,2);
str=str0+':'+str1+':'+str2+':'+str3+':'+str4+':'+str5;
str.Format("%s\r\n",str);
pEdit->SetWindowText(str);
pEdit->UpdateData(FALSE);
为什么编译能通过,但是文本框里面的字符串缺没有改变呢。
展开
 我来答
bhtzu
推荐于2017-09-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4080万
展开全部

两个问题:

  1. 核心问题,你的代码在那个响应函数里面,是否触发了。在SetWindowText行设置断点,F5运行程序,看看是否触发断点。

  2. m_Mac先判断一下长度再Mid比较安全;UpdateData是无用的干扰代码,要去掉。这些应该不影响显示,但不合理。

追问
我检查一下。不过我这个东东是要用在生产线的,不需要按键就触发事件,保证工人的工作效率。现在还在改进。
追答
先用一个简单的MFC对话框程序,测试代码有效性,再放到项目里面,可以知道消息触发的有效性。
参考另一边的回答,我的代码写到了按钮消息里面,点击按钮测试是没有问题的。
jellycgl
2014-11-20 · TA获得超过417个赞
知道小有建树答主
回答量:1149
采纳率:66%
帮助的人:881万
展开全部
UpdateData(TRUE);
更多追问追答
追问
你说的办法不行诶,刚试了。
追答
不是pEdit->UpdateData,是Dialog的UpdateData
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式