我已(利用從CPropertySheet
/CPropertyPage
派生BCGSoft類)創建的基於CPropertySheet
模態對話框在MFC。當用戶需要在CPropertyPage
的中的一個的某一動作,我想以啓用/禁用在不同CPropertyPage
的控制。如何確保CPropertyPage在用戶點擊CPropertySheet之前創建?
這只是正常,假設用戶已經點擊選項卡上的實例第二CPropertyPage
。但是,MFC會延遲創建第二個CPropertyPage
,直到它被用戶激活。在這種情況下,第二個CPropertyPage
內的控件不存在,並且MFC會引發錯誤。
爲了解決這個問題,我想通過調用CPropertySheet
OnInitDialog()
中的必要功能來確保所有的CPropertyPage
都存在。有人可以解釋如何做到這一點?
就我而言,純粹是一個用戶界面的便利,可以使複選框在另一個頁面中被檢查,而不是業務邏輯需求。沒有數據正在更改或設置。我可以在數據層中添加一個新屬性(數據層已經存在,當第二個頁面加載/保存時會讀取),並在第二個頁面變爲活動時讀取這些數據,但我寧願不添加不必要的數據到數據層。在這種情況下,我只希望第二頁中的複選框被選中。 –