我刚开始用MFC,希望大家能帮我
问题表达得不够清楚。MFC framework产生的MDI程序直接编译运行后,都会马上跳出一个子窗口,而且还不是最大化最小化的。我现在不想让它产生这个子窗口。该从哪里下手?有一个苯方法是直接在主程序CMyApp::InitInstance()中把这个子窗口destroy掉。还有别的方法吗?
另外,我想把通过OnFileNew()产生的子窗口设置成最大化,在CMyMDIFrameWnd::OnCreateClient()中修改cs如下:cs.style|=WS_MAXIMIZE;产生的还是不大不小的子窗口,为什么呢?如果想在子窗口产生后讲它最大化,应该修改哪个函数?子窗口产生后发送了什么消息?

解决方案 »

  1.   

    (1)
    在BOOL CTest1App::InitInstance()中
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);
    之后加入
    cmdInfo::m_nShellCommand = CCommandLineInfo::FileNothing;
    (2)
    在ChildFrm中加。
      

  2.   

    (2)
    在ChildFrm中加。
    加什么?我现在无法上机调试,能解释得清楚点吗?谢谢了
    还有,怎么给分?我第一次来这里
      

  3.   

    wuxq,thanks,i know how to maximize the child frame now:ChildFrame::PreCreateWindow(CREATESTRUCT & cs)
    {
         /*it works when the code is like below ,but                    cs.style|=WS_MAXIMIZE will not*/
         cs.style=WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW|WS_MAXIMIZE;
         if(!CMDIChildWnd::PreCreatWindows(cs))
                    return FALSE;
         return TRUE;
    }
    还有,很奇怪,这个函数好象被执行了多次(有三次),晕。mfc想说爱你不容易