VC中UpdateData()函數的使用


UpdateData(FALSE)與UpdateData(TRUE)是相反的過程     
UpdateData(FALSE)是把程序中改變的值更新到控件中去 
UpdateData(TRUE)是把在控件中輸入的值更新到你的變量中去

TRUE    ===> 控件    -〉數據成員 
FALSE ===>   數據成員 -〉 控件     
比如你的一個編輯框控件c_Edit與變量s_Edit相關聯 
在程序中你用了     
s_Edit="CSDN"
但是你在編輯框中輸入"NDSC"
如果你用的是UpdateData(FALSE)的話你的編輯框內容將是“CSDN”
如果你用的是UpdateData(TRUE)的話 s_Edit將變成“NDSC”

如要讓m_edit的內容立即生效 
UpdateData(FALSE);
m_edit.UpdateWindow();//這句不能少,否則不會立即生效

修正:

如要讓m_edit的內容立即生效
UpdateData(FALSE);
UpdateWindow();//這句不能少,否則不會立即生效
EDIT控件沒有UpdateWindow這個成員函數,所以直接使用
例如:
m_name="";
m_mima="";
UpdateData(FALSE);
UpdateWindow();

============================

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

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

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

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

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

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);

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

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

 

UpdateData(FALSE)與UpdateData(TRUE)是相反的過程 UpdateData(FALSE)是把程序中改變的值更

新到控件中去 UpdateData(TRUE)是把在控件中輸入的值更新到你的變量中去 TRUE ===> 控件 -〉數據

成員 FALSE ===> 數據成員 -〉 控件 比如你的一個編輯框控件c_Edit與變量s_Edit相關聯 在程序中你用

了 s_Edit="CSDN" 但是你在編輯框中輸入"NDSC" 如果你用的是UpdateData(FALSE)的話你的編輯框內

容將是“CSDN” 如果你用的是UpdateData(TRUE)的話 s_Edit將變成“NDSC” 如要讓m_edit的內容立即生

效 UpdateData(FALSE); m_edit.UpdateWindow();//這句不能少,否則不會立即生效修正:如要讓

m_edit的內容立即生效 UpdateData(FALSE); UpdateWindow();//這句不能少,否則不會立即生效

EDIT控件沒有UpdateWindow這個成員函數,所以直接使用例如: m_name=""; m_mima="";

UpdateData(FALSE); UpdateWindow(); ============================

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

幕中對應控件中顯示出來。 當你使用了ClassWizard建立了控件和變量之間的聯系后:當你修改了變量的

值,而希望對話框控件更新顯示,就應該在修改變量后調用UpdateData(FALSE);如果你希望知道用戶在對

話框中到底輸入了什么,就應該在訪問變量前調用UpdateData(TRUE)。 二、關於編輯框的賦值和取值向編

輯框中賦值和取值時: 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); 2、直接建一個 數值形的變量 如m_strEdit; 用

UpdateData()來控制得到變量,還是更新變量。 //取值 UpdateData(TRUE); CString buf =

m_Edit1; //賦值 m_Edit1="ok!"; UpdateData(FALSE);


免責聲明!

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



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