如何让一个单文档程序启动时不打开一个空文档?在InitInstance()中默认情况会打开一个空文档,怎么让它不打开呢,让程序运行起来的时候只有一个主窗口???
不知道说清楚了吗:)

解决方案 »

  1.   

    在应用程序的InitInstance里修改 找找以前的帖子
      

  2.   

    这个我也不知道正规的做法是什么.我的做法是 在CApp里面定义一个BOOL 变量  m_IsFirst.  初始为零.然后在CApp::OnNewFile()里面加下面代码
    if(  m_IsFirst!=true)
    {
         m_IsFirst=true;
         return;
    }
      

  3.   

    to laiyiling(最熟悉的陌生人) : 能给我一个具体的网址吗,先谢了!
    to ydnss538(省油的灯): 你说的方法该怎么去实现呢,CdddApp里怎么去加啊?
      

  4.   

    在Doc类的OnNewDocument()函数里只写一句“return FALSE”就ok了!别的不用改!
      

  5.   

    如果是MDI的话,在if (!ProcessShellCommand(cmdInfo))的前面加上
    cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
    就可以了。
    SDI就不知道了
      

  6.   

    to bohut(伯虎) :你说的方法不行啊,加上之后,程序就根本起不来???
      

  7.   

    bohut(伯虎) 你这样的话,在程序运行的以后,你也不能新建文件呀.
      

  8.   

    liukun0525(lukyforyou)我的意思就是,程序运行的时候.它第一次打开文档时,你让要跳过去不打开,以后再打开的时候,就不要跳过去了(让它正常运行).在CApp  里面定义类成员变量, m_IsFirst;在构造函数里面有 m_IsFirst=0;然后程序启动的时候,自己会运行OnFileNew;你可以这样做,用class wizard 定义ID_FILE_NEW消息处理函数.然后再里面加下面代码.
    void CxxxxxxApp::OnFileNew() 
    {
    // TODO: Add your command handler code here

    if(  m_IsFirst!=true)
    {
     m_IsFirst=true;
     return;
    } CWinApp::OnFileNew();

    }