我有一个程序,使用了四个属性页,使用了向导模式。在第四个属性页里的OnSetActive函数中有一些连接网络的代码。
当点击第三个属性页的“下一步”时,要等一会儿才能进入第四个属性页(由于第四个属性页的OnSetActive函数里连接网络的代码运行需要一段时间)。我们知道OnSetActive函数是某个属性页被激活时调用的。
我的问题是:能不能在点击第三个属性页的“下一步”,出现第四个属性页之后才运行那些连接网络的代码?
不晓得我有没有描述清楚,先说这些,到时候再解释。
麻烦各位了,3Q.

解决方案 »

  1.   

    把代码放在OnSetActive外面, 建议重载OnPaint()
    http://topic.csdn.net/t/20000215/18/2106.html
      

  2.   

    好像不行。我连接网络的函数是ConnectServer();如果放在OnPaint中处理,进入这个属性页之前会出现属性页上为空(即没有任何控件,正在绘制属性页)。
      

  3.   

    1楼不是说在OnPaint中来连接,而是不要在OnPaint中有太多的运算量。
    你可以在OnActive中设置定时器,在定时到了之后来连接,然后删除定时器。或者,其实更好的办法是采用异步连接。
      

  4.   


    并不在OnPaint中来连接,而是通过OnPaint来告诉你窗口已经显示完全,你现在可以开始连接了。