分享

转:VC属性表属性页之间的数据传递

 牛人的尾巴 2014-12-24

转自科学网:VC属性表属性页之间的数据传递

属性表的各个属性页之间可能会有一些依赖关系,同时下一个属性页可能也要根据上一个属性页的内容显示不同的东西,那么数据传递就不可避免了。

首先需要的是将两个函数重载:

OnWizardNext和OnSetActive

前者负责进行上一个对话框的数据更新(自然是利用UpdateData将输入数据更新到变量当中)

后者则负责在下一个对话框被激活的时候进行数据传递

这里重载函数要注意最后一句通常都是调用基类的那个“被重载”的函数来取得返回值,例如OnWizardNext的最后一句就是:return CPropertyPage::OnWizardNext();

而OnSetActive的调用则是很有代表性的。

在其中,首先我们要得到父窗口的指针,也就是从当前的CPropertyPage*得到CPropertySheet*,这通过下面这条语句实现:

 CPropertySheet* pParent = (CPropertySheet*) GetParent();

得到父窗口的这个指针之后,通过pParent->GetPage(index)(其中index是指第几个属性页)就可以得到那个属性页的指针了。得到第x个属性页的实现语句是:

CStepx* neibx = (CStepx*)pParent->GetPage(x-1)(注意,和数组一样,索引从0开始)

接下来就可以在当前属性页中引用另外一个属性页的内容了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多