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();  //这句本来就有,重载
}

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值