如果用 SetDlgItemText(IDC_EDIT_ReceiveData,_T(""));方法来清空的话,表面上当你点击清空按钮时,是显示清空了,但是当下组数据来的时候你会发现,上一组被你清空的数据又显示出来了。其实要解决这个问题很简单,在后面加上UpdateData(TRUE);就可以了。
UpdateData()参数只有一个,默认为TRUE。
UpdateData(TRUE) ——刷新控件的值到对应的变量。(外部输入值交给内部变量)
即:控件的值—>变量。
UpdateData(FALSE) —— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)
即:变量值—>控件显示。
m_strEDIT_ReceiveData.Empty();
UpdateData(FALSE);
但是使用m_strEDIT_ReceiveData.Empty();
UpdateData(FALSE);有一个问题,你点击清空按钮是,整个对话框的内容都被清空了。所以使用清空编辑框的最好办法还是使用GetDlgItem(IDC_EDIT_SendData)->SetWindowText("");
总结:清空EDIT编辑框空间的方法:

当清空串口接收数据显示框(EDIT控件)时,直接使用SetDlgItemText结合UpdateData(TRUE)可能导致新数据覆盖旧数据。解决此问题可以使用UpdateData(FALSE),或者直接用SetWindowText清空。推荐使用GetDlgItem(IDC_EDIT_SendData)->SetWindowText("")作为最佳实践。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



