我在编程时创建了一个“属性表”CMyPropertySheet
                     三个“属性页”都是相同的页面,即都是从CMyProperPage定义的,
                    CMyProperPage *page1;
                    CMyProperPage *page2;
                    CMyProperPage *page3;
                     我们知道ID_APPLY_NOW函数OnApply()只能针对当前活动的属性页有效,
我如果想在用户单击了“OnApply按钮”时候,保存当前属性页中的edit和CheckBox中的设置,怎么去处理呢?
也就是在OnApply()函数中如何获得当前活动的标签页(0,1,2);

解决方案 »

  1.   

    在表单内GetActivePage()
    在属性也内GetParent()->GetActivePage()
      

  2.   

    1.如果在在对话框类中,使用CMyPropertySheet对象 m_sheet获取活动标签页
       m_sheet.GetActivePage()
    2.如果在CMyProperPage类中,想获取活动标签页
       GetParent()->GetActivePage()
      

  3.   

    在CMyProperPage 类中重载OnSetActive和OnKillActive。
    在OnSetActive函数中设置属性页的值。
    在OnKillActive中保存属性页的值。
      

  4.   

    TO tttyd:    是这样的,我用相同的CMyProperPage类定义了三个属性页,如果重载OnSetActive和OnKillActive,
    并在里面设置属性页的话,恐怕是不肯能的吧?
    有没有其他的办法~~~
      

  5.   

    你的CMyProperPage是不是有一个资源对话框?
    做属性页,一般是一个CProperPage对应一个资源对话框.
    你可以使用三个不同的CMyProperPage类
      

  6.   

    我已经解决了这个问题,还是可以一个CProperPage对应三个资源的,我没有用到OnSetActive和OnKillActive,只是在OnApply()函数中使用了GetActiveIndex()函数。