tag 标签: updatedata

相关博文
  • 热度 13
    2016-4-8 10:04
    1030 次阅读|
    0 个评论
    1)CWnd::UpdateData BOOL UpdateData( BOOL   bSaveAndValidate   = TRUE ); Return Value Nonzero if the operation is successful; otherwise 0. If  bSaveAndValidat e is  TRUE , then a return value of nonzero means that the data is successfully validated. Parameters bSaveAndValidate Flag that indicates whether dialog box is being initialized ( FALSE ) or data is being retrieved ( TRUE ). Remarks Call this member function to initialize data in a dialog box, or to retrieve and validate dialog data. The framework automatically calls  UpdateData  with  bSaveAndValidate  set to  FALSE  when a modal dialog box is created in the default implementation of  CDialog::OnInitDialog . The call occurs before the dialog box is visible. The default implementation of CDialog::OnOK calls this member function with  bSaveAndValidate  set to  TRUE  to retrieve the data, and if successful, will close the dialog box. (If the Cancel button is clicked in the dialog box, the dialog box is closed without the data being retrieved.) 2) UpdateData()  and  Updatedata(TRUE)  are the same. UpdateData(TRUE)  is used to copy the contents of the controls into the associated variables. UpdateData(FALSE)  is used to put the values in the variables to the associated controls.
  • 热度 17
    2014-8-17 19:46
    1524 次阅读|
    0 个评论
    核心:UpdateD(*),更新指令;FALSE是将变量映射到控件,而TRUE则是从控件到变量。     在VC里,可以为对话框上的控件设置对应的变量,如文本框可以设置对应的 CString变量,但是在程序中修改文本框的内容时,对应的CString变量不会随着改变,需要调用UpdateData(TRUE)来改变变量。类 似的,程序中改变了CString变量,也需要调用UpdateData(FALSE)也改变文本框的内容。 其他的控件都类似,如单选、复选按钮的状态和对应的BOOL变量等。 即:FALSE是将变量映射到控件,而TRUE则是从控件到变量   当你使用了ClassWizard建立了控件和变量之间的联 系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对话框中到底输 入了什么,就应该在访问变量前调用UpdateData(TRUE)。  1、 UpdateData(true);  用窗体上控件中的内容来更新和控件相关连的变量的值(只能更新value类型的变量)  例如:你在你的窗体中有一个Edit控件,为这个控件关联了CString类型的变量m_strName;  你在控件中添入内容之后,必须调用UpdateData(true);才能把你添入的内容传给m_strName这个变量 UpdateData(false);  和上面的正好相反,还是以上面的Edit为例,当你在程序中改变了m_strName变量的内容的时候,如果你想让那个Edit也显示更新后的m_strName,就必须调用UpdateData(false);  这样在你的Edit中才能显示更新完的变量的值!  2、 UpdateData(TRUE)是将控件的状态传给其关联的变量,当然你要为控件关联上变量才行。 UpdateData(FALSE)是将控件的关联变量的值传给控件并改变控件状态。 UpdateData刷新的是当前对话框。 UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。 UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。 3、edit控件,与控件关联的变量m_edit,当程序执行,你在控件中输入数21,要把21传到m_edit,UpdateData(true).如果把m_edit修改,要传到控件UpdateData(false); 另外注意一点: 使用UpdateData()函数时,当前界面上所有绑定了的变量(即通过MFC ClassWizard给控件添加了对应的变量)都会被UpdateData(TRUE)更新成对应控件中的内容;同样所有绑定了变量的控件中的内容也会 UpdateData(FALSE)更新成对应变量中的内容。 要接受用户的输入就true, 要输入结果给用户就flase 数据量不多的话,最好用SetDlgItemText()和GetDlgItemText() 重要补充: GetWindowText()是获取控件当前内容(Caption或者the text within the control —for the control,具体可以查看MSDN)值,是对单个控件而言;  而UpdateData()是作用于整个CWnd的DDX数据交换机制之中的,是控件和数据的双向通道。    
  • 热度 11
    2012-2-21 22:36
    1199 次阅读|
    0 个评论
    初学VC          updatedata是VC中小函数,用于edit控件与相对应变量数据之间的刷新。在刚开始对edit输入字符时,此时对应的变量还没有值,不能使用updatedata(false),不然edit里的字符会被清除。因为这个updatedata是对应于整个工程来说的,它会刷新所有的edit控件。             即有一个edit1的控件,和对应的变量m_1。当你在edit1控件中输入字符,还没来得及将字符赋给m_1时,就有updatedata(false)函数响应了。此时edit1中的字符就被清除了,因为m_1里没有值。