最近在fix 一个前面的人写的程序,
一个CPropertySheet中有两个CPropertyPage的子类,都实现了OnApply(),
程序运行时Apply按钮是灰色的,CPropertyPage中有改动时调用SetModified(TRUE);
可以使用Apply按钮来保存改动, 调OnApply()后apply按钮应该是灰色的,现在问题是
有一个CPropertyPage的界面改动后,调OnApply(),apply不变灰色,另外一个CPropertyPage是正常的,每个OnApply()内部是对的,请问为什么会这样呢?那些回影像apply不变灰色?

解决方案 »

  1.   

    确认OnApply返回TRUE或者:
    return CPropertyPage::OnApply();
      

  2.   

    我觉得应该在CPropertySheet中实现OnApply吧
      

  3.   

    在onapply中是不是应该page1.SetModified(FALSE);
      

  4.   

    这个做了 
    return CPropertyPage::OnApply();
      

  5.   

    http://218.108.41.12/vchome/book/tabctrl.htm
    做个参考
      

  6.   

    谢谢各位,找到原因了,在OnSetActive()中有个地方又调用了,SetModified(TRUE);每次apply时回调用当前page的OnSetActive(),