MDI应用程序,要实现以下功能,在程序界面出现前,
先弹出一个对话框,三秒以后自动关闭,之后出现
应用程序界面,实现先弹出对话框很容易,插入一个
对话框,建立一个新类,在CXXXapp的initinstance中
加入CMyDialog m_dlg;m_dlg.DoModal();即可,但是如何
使这个对话框在3秒后自动关闭呢?请给几行代码或提示。

解决方案 »

  1.   

    在DoModal中开始计时,3秒后如果没有OnOK或OnCancel则调用EndDialog
      

  2.   

    先在CMyDialog中的OnInitDialog中
    SetTimer(1,3000,NULL);
    在CMyDialog::OnTimer(UINT nIDEvent) 中
    调用OnOk()函数,就可以了
      

  3.   

    用SetTimer函数定时 在overide 的OnTimer函数里用EndDialog关闭对话框
      

  4.   

    调用OnOk()函数不需要先按OK按钮吗?如果是的话,在m_dlg.DoModal();后加入
    OnOk()函数,是否可以使对话框一闪后消失呢?
      

  5.   

    SetTimer(NULL,XXX,XXX);
     然后在ontimer()
       {
         m_dlg->SendMassage(WM_QUIT);
        }
      

  6.   

    响应OnTimer事件,三秒钟以后发送关闭窗口的消息就行了。
      

  7.   

    对话框也是一样的,也是窗口,所以不用非去处理OnOK事件,每一个窗口关闭的时候都是会发送WM_DESTROY消息来关闭窗口的,OnOK事件当中缺省的处理也是这样的,所以不比理会OnOK函数,直接的到你要关闭的窗口的句柄,然后发送WM_DESTROY消息就可以了。
      

  8.   

    可使用非模式对话框
    用cdialog::create(idd)创建
    使用定时器或循环取系统时间,3秒关闭你如想作启动界面,有n种办法
      

  9.   

    project==>Add to Project==>components and controls==>
    visuall c++ components==>splash screen
      

  10.   

    在加入的一个新类(默认为CSplashWnd)里,有一个OnCreate函数,
    修改里面的SetTimer函数里设定的时间就可以了
      

  11.   

    本人是新手,请写得细一些,谢谢CMyDialog为CPass,ID_DIALOG1,对话框吴标题