我在InitInstance中调用了Waitdlg窗体作为splash界面,但是不知怎么让它在一定的时间内消失?谢谢!!

解决方案 »

  1.   

    Initiadlg()时settimer.在响应函数中判断,时间到了,就ONOK,ONCANCEL或enddialog.
      

  2.   

    SetTimer(1, 1500,NULL);
    OnTimer里面把窗口销毁或者影藏
    这样启动1.5秒后窗口就会消失
      

  3.   

    http://www.vckbase.com/document/viewdoc/?id=1656
      

  4.   

    UP,在OnTimer中可以实现设定时间后的任何操作,需要判断……
      

  5.   

    在splash窗口的wm_initdialog消息中加入SetTimer;然后在OnTimer消息中调用PostQuitMessage(0);
      

  6.   

    说错,是在OnTimer消息中调用OnCancel();
      

  7.   

    如果你想在程序运行后多久时间内使窗体消失,也可以调用Sleep(int ntime);这个函数,然后再调用退出窗口函数或者是隐藏窗口函数。
      

  8.   

    最好不要sleep。否则,你要是希望该窗口执行其他动作他就干不了。还是设置定时器好,一般splash窗口都是简单的用定时器来关闭。你完全也可以不需要该窗口自己关闭。你这个splash窗口很定是其他的某个窗口来启动的,你只要在那个窗口里来设置定时器就可以了。具体你查查VC 定时器, 就可以获得思路了,很简单很简单
      

  9.   

    先弄一个变量,比如int nCount = 0。在函数里用SetTimer(1,1000,NULL );然后在OnTimer()函数里定时去检查这个变量,然后每次都给他加上一个值,看你需要定时多久吧,比如定时一分钟,那现在就是每过一秒钟你就把nCount 这个值加1然后到60的时候你就可以发送一个WM_CLOSE的消息,或者是OnCancel之类的,给关掉就行了,这些都在OnTimer()里去做。