CPropertyPage::OnSetActive()和OnKillActive()函数:属性页切换时的处理函数
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();? //這句本來就有,重載
}
?
總結
以上是生活随笔為你收集整理的CPropertyPage::OnSetActive()和OnKillActive()函数:属性页切换时的处理函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 03 - 变量的数据类型
- 下一篇: java 怎么通过url获取远程服务器上