MFC中UpdateData()用法


一、總結UpdateData()函數

UpdateData(true);//用於將屏幕上控件中的數據交換到變量中。

UpdateData(false);//用於將數據在屏幕中對應控件中顯示出來。

       當你使用了ClassWizard建立了控件和變量之間的聯系后:當你修改了變量的值,而希望對話框控件更新顯示,就應該在修改變量后調用UpdateData(FALSE);如果你希望知道用戶在對話框中到底輸入了什么,就應該在訪問變量前調用UpdateData(TRUE)。

關於關聯變量,一個編輯框可以和CEdit變量關聯,也可以和CString變量關聯。

 

 

二、關於編輯框的賦值和取值

向編輯框中賦值和取值時:

1、建一個 控制型的變量,如m_edit1,用CWnd的SetWindowText() 和GetWindowText()來賦值和取值。

m_Edit1.SetWindowText("Hello"); 

或者GetDlgItem(IDC_EDIT1)->SetWindowText(str);

2、建立一個控制型的變量,如m_edit1,用SetDlgItemText()和GetDlgItemText()來賦值和取值

CString Str="Hello":

m_edit1.SetDlgItemText(IDC_EDIT1,str);

關聯控制型變量時,會在DoDataExchange中,使用DDX_Control(pDX,IDC_EDIT,m_edit1);進行關聯

2、直接建一個數值形的變量如m_strEdit;   用  UpdateData()來控制得到變量,還是更新變量。

關聯CString變量的話,會在對話框類的構造函數中,進行初始化,在DoDataExchange中,通過DDX_Text(pDX,IDC_EDIT,m_EditText),進行對象的綁定。

//取值   
  UpdateData(TRUE);   
  CString   buf   =   m_Edit1;    
  //賦值   
  m_Edit1="ok!";   
  UpdateData(FALSE);

 

另外注意一點:

使用UpdateData()函數時,當前界面上所有綁定了的變量(即通過MFC ClassWizard給控件添加了對應的變量)都會被UpdateData(TRUE)更新成對應控件中的內容;同樣所有綁定了變量的控件中的內容也會UpdateData(FALSE)更新成對應變量中的內容。

要接受用戶的輸入就true,

要輸入結果給用戶就flase

數據量不多的話,最好用SetDlgItemText()和GetDlgItemText()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM