MFC: UpdateData()

MFC: UpdateData()

ㄧ直都知道 UpdateData() 的使用時機是用於更新資料時…

當需要取得 Dialog 上之控制項儲存資料時 使用 UpdateData(TRUE) 來取得…

反之 需要將變數呈現於 Dialog 之控制項時 需要用 UpdateData(FALSE)

但卻不知道 執行 UpdateData() 這動作 用意是去呼叫 ::DoDataExchange(pDx) 這函示的

用 MFC 精靈產生專案時… 會產生類似如下之程式碼

1.void CDDXDemoDlg::DoDataExchange(CDataExchange* pDX)
2.{
3.CDialog::DoDataExchange(pDX);
4.DDX_Text(pDX, IDC_EDIT, num);
5.DDV_MinMaxInt(pDX, num, 1, 20);
6.}

其中 DDX_ 代表 -> Do Data Exchange

DDV_ 則代表了 -> Do Data Verification

所以執行 UpdateData(TRUE) 就代表了 IDC_EDIT -> num 的資料交換

UpdateData(FALSE) 即代表了 num -> IDC_EDIT 的資料交換動作…

且執行 UpdateData() 動作後會去作類似 DDV_MinMaxInt 的資料基本檢查….

留言

這個網誌中的熱門文章

NMEA標準格式 -- GPS

網路 Transformer 的用途

cut,sed,awk 字串處理