Hi,
一个sheet中包含几个page页,我想通过这个sheet和这几个page对文件进行读写操作, 于是我想在页的Oninitdialog中把数据读到页中,再在DoModel之后把所有页的数据都写到文件中去,但发现对于那些没有选择或修改过的页不执行OnOK操作,因此,这些也的数据不能交换到页对象中的变量,从而,无法把正确的数据写到文件中。谢谢

解决方案 »

  1.   

    对于CPropertyPage,只有当第一次被setactive的时候,OnInitdialog才被调用,可以把这些数据读取出来,放在CPropertySheet中(这需要从CPropertySheet派生一个类)
      

  2.   

    你在初始化的时候,循环将所有的页都设置为激活页BOOL SetActivePage( int nPage );,当然,最后还要将你需要缺省设置为可见页的页激活一下,这样可以保证所有页面的初始化成功完成。
    比如有三页:for(int i=0;i<3;i++)
    {
        SetActivePage(i);
    }
    SetActivePage(0);