CPropertyPage::OnKillActive
virtual BOOL OnKillActive();
傳回值:
如果資料被成功更新則返回非零值;否則返回0。
說明:
當頁不再是活動頁時,架構調用此函數。重載這個成員函數來執行指定的資料確認任務。
此成員函數的預設實現將對屬性頁面中的控制項所做的設定拷貝到屬性頁面的成員變數中。如果資料沒有被成功地更新,則屬於一個對話方塊資料確認(DDV)錯誤,該頁保持焦點。
在此成員函數成功返回之後,架構將調用此頁的OnOK函數。
CPropertyPage::OnSetActive
virtual BOOL OnSetActive();
傳回值:
如果成功地啟用了此頁則返回非零值;否則返回0。
說明:
當使用者選擇了此頁並將其變為活動頁時,架構調用這個成員函數。重載此成員函數來執行當一個頁被啟用時要執行的任務。你的關於這個成員函數的重載應該在做任何其它處理之前調用預設的版本。
預設的實現為該頁建立視窗(如果在此之前沒有建立的話),並使它成為活動頁。
當在一個主對話方塊中同時載入幾個屬性頁面時,有時候就需要在屬性頁面切換時做一些必要的處理,例如傳遞資料,在當前啟用頁使用上一頁中的變數或函數。執行個體代碼如下:
BOOL CRealTimeDlg::OnSetActive(void)
{
CPropertySheet* pParent = (CPropertySheet*) GetParent();//首先獲得屬性頁面父視窗指標
//再獲得指定屬性頁面指標,其中CDataAnalysisDlg為要進行處理的視窗類別
CDataAnalysisDlg* dataanalysisdlg = (CDataAnalysisDlg*)pParent->GetPage(1);
dataanalysisdlg->OnKillTimerDatabase();//調用該視窗類別中的函數
return CPropertyPage::OnSetActive(); //這句本來就有,重載
}