当修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,也就是把控件的内容更新到变量就应该在访问变量前调用UpdateData(TRUE)。 UpdateData刷新的是当前对话框。
UpdateData(true):
用窗体上控件中的内容来更新和控件相关连的变量的值(只能更新value类型的变量)
例如:窗体中有一个Edit控件,控件关联了CString类型的变量m_strName;
你在控件中添入内容之后,必须调用UpdateData(true);才能把你添入的内容传给m_strName这个变量
UpdateData(false):
和上面的正好相反,还是以Edit为例,当你在程序中改变了m_strName变量的内容的时候,如果你想让那个Edit也显示更新后的 m_strName,就必须调用UpdateData(false); 这样在你的Edit中才能显示更新完的变量的值。
总结:
要接受用户的输入就true,
要输入结果给用户就flase
数据量不多的话,最好用SetDlgItemText()和GetDlgItemText()
重要补充:
GetWindowText()是获取控件当前内容(Caption或者the text within the control —for the control,具体可以查看MSDN)值,是对单个控件而言;
而UpdateData()是作用于整个CWnd的DDX数据交换机制之中的,是控件和数据的双向通道。
参考文章:https://www.cnblogs.com/lidabo/archive/2012/07/17/2595464.html