新手请教:
    基于对话框程序,我有12个属性页,然后在对话框中包含3个CPropertySheet成员变量,在对话框OnInitDialog时候把属性业加入到CPropertySheet成员变量中,每个CPropertySheet有4个属性页。遇到几个困难,请教下各位:
   1:我第一个CPropertySheet中的第一个属性页,里面包含一个BUTTON控件,我想单击这个控件时,切换到CPropertySheet中的第二个属性页,麻烦各位说详细点吧,CPropertySheet::SetActivePage,我在属性页中获取不到包含这个属性页的CPropertySheet的指针。具体怎么实现呢?
   2:我在第一个属性页中有个Edit控件,里面有些数据,我想在我单击BUTTON控件的时候,切换到第二个属性页的时候,这个第一个属性页得Edit控件的数据能够给第二个属性页所关联的类用呢?

解决方案 »

  1.   

    2、编辑框在失去焦点后,把值存入到app类里
      

  2.   

    1. 你的对话框加入CPropertySheet的时候,就要把CPropertySheet的对象指针传递进去,然后对话框用一个成员变量等来保存,这样需要的时候就可以调用SetActivePage了
    2. 同一,你可以CPropertySheet用一些变量来保存你的Edit控件的数据,这样任何一个属性页都可以通过CPropertySheet的指针来获取到这些数据了
      

  3.   


      CPropertySheet *pSheet = (CPropertySheet*)GetParent();
      pSheet->SetActivePage((pSheet->GetActiveIndex()+1)%pSheet->GetPageCount());
      

  4.   

    第一个问题解决了,第2个问题是我现在第一个属性页有个CString类的成员变量保存了Edit控件的数据,但是在第二个属性页里面怎么得到这个第一个属性页有个CString类的成员变量呢?我在第二个属性页定义一个第一个属性页得指针或者对象,编译器就报错。为什么呢?