在VC++中,有两种文档模板:CMultiDocTemplate和CSingleDocTemplate。单文档/视不用多说,多文档/视一般是在同一进程里,同一窗体内,可以有多个窗口。但现在我的要求是:
(1)只有一个进程;
(2)可以有多个同样的窗口(View);
(3)窗口都独立在外,不象CMultiDocTemplate每个窗口(View)都在MainFrm框架内,对外看起来好像是多个进程。说白了,就是象Word2003一样,看起来是多个窗口显示,其实只有一个Word进程,并且关闭时只关闭当前的窗口,不会将进程关掉。

解决方案 »

  1.   

    VS.NET 2003 新建MFC程序的时候不是有一个多顶级窗口的选项吗?
    另外方法是在独立的线程里创建各自的顶级窗口
      

  2.   

    我没有用VS 2003,我用的是Visual studio 6。能实现吗?即如此,应该有MFC支持吧。
      

  3.   

    新建窗口的时候选择WM_EX_APPWINDOW风格
      

  4.   

    这个要用新的SDK才支持吧,老的好像没有这个风格类型。
      

  5.   

    不是WM_EX_APPWINDOW,而是WS_EX_APPWINDOW,但是我在ChildFrm.Cpp的PreCreateWindow加了这个风格也不行呀??在View中加了也不行。
    BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs
         cs.style=cs.style | WS_EX_APPWINDOW;
    if( !CMDIChildWnd::PreCreateWindow(cs) )
    return FALSE;
        return TRUE;
    }
    BOOL CAaaView::PreCreateWindow(CREATESTRUCT& cs)
    {
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs
             cs.style=cs.style | WS_EX_APPWINDOW;
    return CView::PreCreateWindow(cs);
    }