CPropertySheet中的OnOK()和OnApply()是什么关系。我发现OnApply好像调用OnOK,这样OnOK的内容,点“应用”时执行一遍,点“确定”时又执行一遍,好烦。
还有点“应用”或“确定”时,是各个子页面的OnApply,OnOK都调用,还是只有当前激活页面的调用,有没有办法只调用激活页面。

解决方案 »

  1.   

    我想onok()执行的动作包含了onapply();
    只激活当前页面的调用.
      

  2.   

    1.是这样的,我在OnOK()里弹出个对话框。但在点“应用”时,这个对话框出来了。
    2.我在点“应用”时,出现的情况是不定的,有时候是只调用了当前激活页面的,有时候是好几个页面的OnApply都被调用。好像是有改动的页面都被调用。
      

  3.   

    OnApply=OnOK+close_the_window,纯粹经验啊
      

  4.   

    在ok和apply调用时,执行对话框的DoDataExchange,而且是每个属性页的这个函数都得到调用。
      

  5.   

    The default implementation of OnApply calls OnOK.to:寒号鸟
    是 OnApply=OnOK-clost_the_window 吧
      

  6.   

    1.还是MSDN呀,在按下按钮“确定”或“应用”时,是OnOK()和OnApply()一起调用的,只是OnApply()不关闭窗口。
      

  7.   

    可以自己重载OnOK()和OnApply(),控制到底那些起作用