語言:C++的UpdateData在MFC
開發環境:微軟的Visual C++
用於圖書館:MFC
問題:我創建了一個偏好配置應用程序。左邊是一個列表框,其中包含可以更改的「父級」設置類別,當它們單擊時,可以更改的設置顯示在列表框的右側,就像在許多大型首選項對話框中一樣。我將所有的控件設置爲DDX數據交換(注意:我有一個用於每個子對話框/首選項頁的cpp文件),所以我完成了所有的基礎設置。
這是我的問題。我很難使用UpdateData,因爲我從來沒有在首選項框中實際調用DoModal(),因爲它們是父對話框容器的子對象,並且它們只是綁定到對話框中的圖片控件。當用戶點擊列表框時,我執行設置焦點和顯示/隱藏子對話框的組合。
當用戶選擇「保存這些」他(她)給出/與另一個對話框,允許他們檢查,他們想保存(生成XML配置文件),該特定偏好窗格。很顯然,我需要爲輸入對象刮對話框,但是當程序到達調用UpdateData的代碼點時,程序將失敗,因爲我在調用DoModal()之前調用了UpdateData。
現在我真的不知道如何去獲取價值。這對MFC我很陌生也沒有幫助。所以就是這樣。無論如何,我會很感激任何人都可以提供的幫助。
我真的很想避免,如果我能部分地重新做UI。我嘗試過使用OnOK(),因爲我知道它調用UpdateData,但由於我的應用程序工作的方式,它不喜歡我想要做的事情。基本上我有一個「全部保存」按鈕和一個「保存這些」按鈕,它們指定保存哪些子對話框。SaveThese會彈出一個帶有複選框的對話框,以便他們可以指定要保存的窗格,並且這是選擇器的解僱(OnOK),我想要保存信息...需要獲取所有值。我試圖在子對話框中調用OnOK無濟於事。 – Jon
沒有看到代碼,它聽起來像你需要每個窗格的數據結構和一個接口,允許你有這些數據結構的集合,這些數據結構可以用來保存/加載你的無關對話。我假設這些窗格是無模式的,所以一個接口允許你有一個窗格指針的集合,你可以循環通過也可以讓事情變得更容易。 – AJG85
嗯,我得去研究一下......我不確定每個窗格的界面是什麼意思。我對visual-C++和MFC相當陌生,所以一直以來都是一個挑戰。有什麼建議麼?我不想佔用太多時間... – Jon