MFC用SetwindowText()清空/更改Edit控件内容无效

时间:2023-02-02 05:52:34

我是用如下代码,想要清空Edit控件的内容

GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
//UpdateWindow(); //没用
//UpdateData(FALSE); //不能用

孰料Edit控件的内容死活没变化
加断点调试确实也都正常执行了,还加了UpdateWindow(),然而并没有什么变化
令我一度怀疑是和Edit控件关联了Value变量有关,甚至开始怀疑人生~直到看到大神说:

使用SetWindowText不需要UpdateData()
你需要查看下代码是否在使用SetWindowText后再使用UpdateData(FALSE),因为使用SetWindowText不会改变关联变量的值,如果再用UpdateData(FALSE)又会将Edit关联的变量值又显示出来了。(即更新后又改回来了,edit显示不更新)
如果非要用UpdateData,必须先UpdateData(TRUE),后再UpdateData(FALSE)