在沒有系統(tǒng)看過MFC書時,看人家代碼這么寫,我就這么做。就知道功能,然后,過了很久不用,就忘記了!
今天弄懂了這個函數(shù)的使用,記一下。
在使用classwizard(類向?qū)?為一個控件建立一個變量時,classwizard會為控件和變量建立一個關(guān)聯(lián)
void CCharStatisticDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); // {{AFX_DATA_MAP(CCharStatisticDlg) DDX_Text(pDX, IDC_EDIT1, m_strTxt); DDX_Text(pDX, IDC_CH, m_strCh); DDX_Text(pDX, IDC_EN, m_strEn); DDX_Text(pDX, IDC_AL, m_strTotal); // }}AFX_DATA_MAP }
簡單地說,在操作代碼部分,使用
Updatedata(TRUE) 表示將控件的值賦值給
成員變量
,即從窗口編輯框中讀入數(shù)據(jù);
Updatedata(FALSE) 表示將成員變量的值賦值給控件,將數(shù)據(jù)從窗口顯示。
DoDataExchange 函數(shù)其實是為了實現(xiàn)一項數(shù)據(jù)動態(tài)綁定技術(shù)
而
DDX_XXX函數(shù)才是真正實現(xiàn)動態(tài)綁定技術(shù)的函數(shù),函數(shù)在MFC\Include\AFXDD_.H中聲明。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
