怎么在DLL中创建SDI/MDI

如何在DLL中创建SDI/MDI
如何在DLL中创建SDI/MDI,这个问题搞了好久了,一直没实现,希望哪位大侠帮帮忙。

主程序只提供一个接口函数,具体参数我可以增加修改,其他代码不能动。

主程序也是一个SDI,希望调用DLL后生成另外一个SDI或者MDI,情况就这样

谁能提供具体步骤和代码最好,先谢谢了!

------解决方案--------------------
http://www.99inf.net/SoftwareDev/VC/25475.htm
------解决方案--------------------
什么样的代码需要重用?要把文档模板搬到DLL里面去的话,最好把app也搬到里面去
------解决方案--------------------
C/C++ code


if(!g_View.Create(NULL, NULL,AFX_WS_DEFAULT_VIEW | WS_HSCROLL | WS_VSCROLL  ,
        CRect(0,0,0,0), CFrameWnd::FromHandle(m_pFrameCtrl->GetFrameWnd()), AFX_IDW_PANE_FIRST))
         return FALSE;

------解决方案--------------------
在DLL中创建SDI/MDI,自己在dll中创建SDI/MDI,为什么还要保留那些模板的呢.这些个可以去掉.
至于窗口不见了,你加一下语句:
CMainFrame* pFrame = new CMainFrame(/*m_pProject*/); //-- 你的Frame不要再模板中创建了.
m_pMainWnd = pFrame;
pFrame->LoadFrame(IDR_MAINFRAME,WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, NULL);
pFrame->ShowWindow(SW_SHOWMAXIMIZED);
pFrame->UpdateWindow();
pFrame->InitialFrame();

想实现复杂功能,又想简单的实作,这个很矛盾.
你说的功能,不是改这么一个两个地方可以实现的.连模板都不丢,自己又搞Doc和View也矛盾.
你在DLL里面的View需要接受到MainFrame的消息并能相应,你的View要能访问到Doc.建议做一个叫Project的顶级指针,可以通过它访问到所有一切.