我在SDI的程序中使用了CSplitterWnd,将窗口分成了两部分,现在希望在下面的部分创建一个新的frame,应该怎么做?

解决方案 »

  1.   

    http://book.51cto.com/art/200810/92647.htm
      

  2.   

    把frame的创建代码封装到DLL中,DLL提供访问Frame的接口,就是将Frame显示出来
    DLL中的流程大致如下:
    1 创建一个对话框,类型为WS_CHILD的
    2 在对话框的OnCreate或OnInitialDialog中创建CFrameWnd,
      参考代码:
       CRect rcClient;
    GetClientRect(&rcClient); CRuntimeClass* pRtCls = RUNTIME_CLASS(CProcFrame);
    m_pFrame = (CProcFrame*)pRtCls->CreateObject();
    m_pFrame->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,rcClient,this);  // 创建CFrameWnd3 如果你需要在CFrameWnd包含其它的VIEW话,具体做法就用CSplitterWnd,和你在主程序的做法一样了4 调用接口,显示Frame
      

  3.   

    可以创建一个frame 然后贴在下面(SetWindowPos)
      

  4.   

    虽然我最后没有用frame,但还是给分吧