近日,小弟在程序中要用  CPropertySheet和CPropertyPage 配合完成一个向导,我做了五个页面,现在可以顺序的显示(按下一步) 可是如果我想根据第一页里的内容,动态的实现下一页(也就是说点下一步,不是显示第二页,而是其它页)该如何办呀?另外,我的五个页面要求用户输入5个值,用于计算。 是不是在我的CPropertySheet
的派生类里 加成员变量来取这5个值?可以取吗? 或者是用其它方法?望指点

解决方案 »

  1.   

    可以的,CPROPERTYSHEEP 保存有活动页指针;
      

  2.   

    to program_ghost(高山流水) 
    能说详细点吗?
      

  3.   

    另外,怎么样控制下一步的页面,按条件动态显示呢?主要是用什么方法?也就是这个意思:
    A B C D E F G H 这几个页面根据 C 里面的值 确定下一步是  D E F 中的那一个,而 D E F的下一步,是G 
    G的下一步是 C ,C 在特定的条件下 下一步是 H 最终完成'
    在这个过程中,每一个页面的值都有要记录的。关键是 怎么组织下一步是那一页面。
    我想用 RemovePage 和 AddPage 在页面的 下一步处理函数中动态的修改 Sheet 中的页面
    不知各位有没有更好的方法?
      

  4.   

    根据条件,响应“NEXT”按钮时调用CPropertySheet::SetActivePage(int)
      

  5.   

    to BinaryPoet(二进制诗人)
       谢谢了,问题以解决!
      

  6.   

    to  BinaryPoet(二进制诗人)    有问题呀! 那个SetActivePage(int) 无法跳到我要求显示的页面
    比如 ABCDEF 也个页面  当我当前页是 B 的时候,调 SetActivePage(3) 不是显示的C
    而是显示的 E 呀!
        因为我有25个页面,要在里面跳来跳去,所以还请大家帮帮忙呀! 现在我用的是 
    在 NEXT 事件中 return IDD_WIZARD_1 这种方法跳的(而且我用 map 把各页的名称和每个 窗口的ID都关联起来,以后知道名字就可以跳到相应页)可是vc里ID太容易重复了,所以这种方法不好。
       请问各位有什么更好的方法呀?