MFC: UpdateData()

Posted: 一月 27, 2008 in 技術相關
標籤:,

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

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

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

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

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


void CDDXDemoDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_EDIT, num);
    DDV_MinMaxInt(pDX, num, 1, 20);
}

其中 DDX_ 代表 -> Do Data Exchange

DDV_ 則代表了 -> Do Data Verification

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

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

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

迴響

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s