2011-06-24 35 views
2

語言: C++不知道如何更新數據?

開發環境:微軟的Visual C++

用於圖書館: MFC

問題:我創建了一個偏好配置應用程序。左邊是一個列表框,其中包含可以更改的「父級」設置類別,當它們單擊時,可以更改的設置顯示在列表框的右側,就像在許多大型首選項對話框中一樣。 (See screenshot from the creator

這是我的問題。我很難使用UpdateData,因爲我從來沒有在首選項框中實際調用DoModal(),因爲它們是父對話框容器的子對象,並且它們只是綁定到對話框中的圖片控件。我執行設置焦點和顯示/隱藏子對話框的組合。

當用戶選擇「保存這些」時,他們會看到另一個對話框,允許他們檢查想要保存哪些特定的偏好窗格(以生成XML配置文件)。很顯然,我需要爲對話框輸入內容,但是當我調用UpdateData時,我總是在調用DoModal()之前調用UpdateData。

現在我真的不知道如何去獲取價值。這對MFC我很陌生也沒有幫助。所以就是這樣。無論如何,我會很感激任何人都可以提供的幫助。

〜喬恩

回答

2

你不必調用的DoModal()才能使用的UpdateData()。我不確定你的意思是「吼叫」。要使用UpdateData(),您需要使用DDX(另請參閱code project article)。從你的問題來看,你是否已經通過將dlg控制id與數據成員關聯來使用DDX並不清楚。

在您的方案中,當您離開特定對話框時,可能需要調用UpdateData()以將屏幕上的值保存到數據成員。

您可以考慮的另一種替代方法是使用基於CPropertySheet的樹控制CTreePropSheet。您也可以通過谷歌CTreePropertySheet查找對話框樹控件的更多實現。

相關問題