)UpdateData(TRUE)和UpdateData(FALSE)的區別

來源:互聯網
上載者:User

 

當你使用了ClassWizard建立了控制項和變數之間的聯絡後:當你修改了變數的值,而希望對話方塊控制項更新顯示,就應該在修改變數後調用UpdateData(FALSE);如果你希望知道使用者在對話方塊中到底輸入了什麼,就應該在訪問變數前調用UpdateData(TRUE)。

1、

UpdateData(true);

用表單上控制項中的內容來更新和控制項相關連的變數的值(只能更新value類型的變數)

例如:你在你的表單中有一個Edit控制項,為這個控制項關聯了CString類型的變數m_strName;

你在控制項中添入內容之後,必須調用UpdateData(true);才能把你添入的內容傳給m_strName這個變數

 

UpdateData(false);

和上面的正好相反,還是以上面的Edit為例,當你在程式中改變了m_strName變數的內容的時候,如果你想讓那個Edit也顯示更新後的m_strName,就必須調用UpdateData(false);

這樣在你的Edit中才能顯示更新完的變數的值!

2、

 

UpdateData(TRUE)是將控制項的狀態傳給其關聯的變數,當然你要為控制項關聯上變數才行。

UpdateData(FALSE)是將控制項的關聯變數的值傳給控制項並改變控制項狀態。

UpdateData重新整理的是目前的交談框。

 

UpdateData(true);//用於將螢幕上控制項中的資料交換到變數中。

UpdateData(false);//用於將資料在螢幕中對應控制項中顯示出來。

 

3、edit控制項,與控制項關聯的變數m_edit,當程式執行,你在控制項中輸入數21,要把21傳到m_edit,UpdateData(true).如果把m_edit修改,要傳到控制項UpdateData(false);

 

另外注意一點:

使用UpdateData()函數時,當前介面上所有綁定了的變數(即通過MFC ClassWizard給控制項添加了對應的變數)都會被UpdateData(TRUE)更新成對應控制項中的內容;同樣所有綁定了變數的控制項中的內容也會UpdateData(FALSE)更新成對應變數中的內容。

 

要接受使用者的輸入就true,

要輸入結果給使用者就flase

 

資料量不多的話,最好用SetDlgItemText()和GetDlgItemText()

 

 

重要補充:

GetWindowText()是擷取控制項當前內容(Caption或者the text within the control —for the control,具體可以查看MSDN)值,是對單個控制項而言;

而UpdateData()是作用於整個CWnd的DDX資料交換器制之中的,是控制項和資料的雙向通道。

 

CListCtrl控制項的使用:

 

(1)擷取CListCtrl對象的Item資料(即選中)可以使用這樣一個函數GetNextItem(-1,LVNI_ALL| LVNI_SELECTED)來擷取當前選中的行(Item)如果該函數還回的值是-1,說明沒有行(item)被選中,如果有行被選中,還回的是一個大於等於0的整數值,我們可以通過這個索引值來得到該行的相關列的資料,使用的是GetItemText()函數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.