问题描述:在一个属性表中有多个属性页,其中有一个属性页需要多次的显示在最前面(也就是先显示该属性页,然后换到别的属性页,再换回到该属性页),我想让这个属性页每次显示在最前面的时候调用该页对应的OnInitDialog()函数,并在OnInitDialog()中进行一些初始化操作,请问我该如何做?
因为我发现OnInitDialog()只在属性页第一次出现在最前面的时候调用,以后都不调用。

解决方案 »

  1.   

    这个当然,没见到写着Init,初始化的意思,也就是在开始的时候才调用.
    你可以结合定时器和全局变量.
    我先给你个思路(可能方法比较笨)
    当然先设好全局变量m_global,
    在主窗口中设一个定时器,各个属性页中也设一个定时器,
    开始时当然先调用你需要的那个页面,同时将m_global设为false,
    时间一到就关闭该页调用下一页,同时定时器启动,时间一到就将m_global设为true,
    依次类推,
    主窗口中的定时器用来检测m_global,一旦其为真就调用你要的那个属性页
      

  2.   

    请问有没有一个什么函数,在每次转换属性页时候就调用属性页的这个函数,我想在每次属性页显示之前进行一些初始化操作,就像init函数那样,可惜init函数只能调用一次。
      

  3.   

    在相应的页中调用 page.OnSetActive(),重载这个函数