將控件的值傳遞給與之相關聯的變量時,需要調用UpdateData(TRUE);下面是我編的一個往對話框的編輯框控件中傳遞值的程序,賦值號右邊的是與控件相關聯的變量,左邊為需要賦值的變量.我想請教一下,為什么在程序中我沒有調用UpdateData(TRUE),仍然能使關聯的變量值為控件的值.程序里需要再增加UpdateData(TRUE)嗎?void CDrawView::OnTongfengcs() {// TODO: Add your command handler code hereCTONGFCSDlg tfcs;CDrawDoc* pDoc = GetDocument();if(tfcs.DoModal()==IDOK){//UpdateData();pDoc->Vn=tfcs.m_Vn;pDoc->Ssr=tfcs.m_Ssr;}}
3 回答

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
*****
*****UpdateData()使用場合:在對話框不消失的情況下,對對話框中部分區域的重繪或者提前對話框部分信息,比如改變某個控件的值的顯示或者獲取該控件的值。
*****
*****看你的需求,你是想取用控件的值,而且是在對話框消失之后( DoModal()執行結束,對話框消失,但與之關聯的對話框變量有效,且自動保存消失前的最新信息),自然不要調用UpdateData。
*****
*****另外注意,以后要是碰到對話框不消失的場合,必須用UpdateData(),它的默認參數是True,就是提前控件信息。如果需要更新控件信息,必須調用UpdateData(FALSE)。

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
UpdateData(TRUE)是將控件的狀態傳給其關聯的變量,當然你要為控件關聯上變量才行。
UpdateData(FALSE)是將控件的關聯變量的值傳給控件并改變控件狀態。
UpdateData刷新的是當前對話框。
- 3 回答
- 0 關注
- 846 瀏覽
添加回答
舉報
0/150
提交
取消