VC中UpdateData 函式的使用

2021-06-17 15:01:58 字數 1532 閱讀 5253

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

MFC中的UpdateData 函式

當你使用了classwizard建立了控制項和變數之間的聯絡後 當你修改了變數的值,而希望對話方塊控制項更新顯示,就應該在修改變數後呼叫 updatedata false 如果你希望知道使用者在對話方塊中到底輸入了什麼,就應該在訪問變數前呼叫updatedata true 用處 主要控制ddx da...

MFC中UpdateData 函式的使用

當你使用了classwizard建立了控制項和變數之間的聯絡後 當你修改了變數的值,而希望對話方塊控制項更新顯示,就應該在修改變數後呼叫 updatedata false 如果你希望知道使用者在對話方塊中到底輸入了什麼,就應該在訪問變數前呼叫updatedata true 用處 主要控制ddx da...

MFC中UpdateData 函式的使用

updatedata 是作用於整個cwnd的ddx 資料交換 機制之中的,是控制項和資料的雙向通道 當你使用了classwizard建立了 控制項和變數 之間的聯絡後 當你修改了變數的值,而希望對話方塊控制項更新顯示,就應該在修改變數後呼叫 updatedata false 如果你希望知道使用者在對...