请问vc++高手,如何让程序刚启动时就显示一个对话框??我想编写一个SDI程序,当程序一运行时,就显示一个对话框,我知道如何在菜单中显示对话框(在菜单的click事件中 运行 domodal即可),可是,如何让当程序一运行时,就显示一个对话框呢??在什么消息事件中写代码?? 
问题补充:我发现,在 ondraw方法中写代码来domodal 不行,因为程序经常调用ondraw方法,所以会经常运行domodal,那么应该在哪里运行对话框呢?

解决方案 »

  1.   

    BOOL CXXXApp::InitInstance()中?
      

  2.   

    如果你希望在主窗口显示之前就先显示这个对话框,那就放在InitInstance里,如果希望在主窗口显示出来以后再显示这个对话框,那就在OnIdle里。不过需要在OnIdle里放一个static变量来保证只运行一次,像这样:BOOL CxxxApp::OnIdle(LONG lCount)
    {
       static BOOL bFirstTime = TRUE;
       if(bFirstTime) {
          CSomeDlg Dlg;
          Dlg.DoModal();
          bFirstTime = FALSE;
       }
       return FALSE;
    }