📄 index150.htm
字号:
<html>
<style type="text/css"><!--
.p9 { font-family: "宋体"; font-size: 9pt}a {text-transform: none; text-decoration: none;}
a:hover {text-decoration: underline; color: #FF0000;}
--></style>
<body background="../di2001.jpg">
<h3 align="center"><font COLOR="#AOAO99"></font></h3>
<table width="100%" border="1" cellspacing="1">
<tr><td><p align="center"><font color="#FF0000">如何实现SDI与MDI的转换?</font></td></tr>
<tr><td><p>
</Br>
我想将一个编好的SDI应用程序转换为MDI,很明显要有多处的改变。<Br>
</Br>
你可以这样做:建立一个继承于CMDIChidWnd的类,不防设为CChldFrm.在CWinApp中作如下变化。<Br>
</Br>
</Br>
InitInstance()<Br>
{<Br>
. ...<Br>
//instead of adding CSingleDocTemplate<Br>
// Add CMultiDocTemplate.<Br>
pDocTemplate = new CMultiDocTemplate(<Br>
IDR_MAINFRAME,<Br>
RUNTIME_CLASS(CSDIDoc),<Br>
RUNTIME_CLASS(CChldFrm),<Br>
// For Main MDI Frame change this frame window from<Br>
// CFrameWnd derivative ( i.e. CMainFrame )<Br>
// to your CMDIChildWnd derived CChldFrm.<Br>
RUNTIME_CLASS(CSDIView));<Br>
/// After this it is required to create the main frame window<Br>
// which will contain all the child windows. Now this window is<Br>
// what was initially frame window for SDI.<Br>
CMainFrame* pMainFrame = new CMainFrame;<Br>
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))<Br>
return FALSE;<Br>
m_pMainWnd = pMainFrame;<Br>
.....<Br>
}<Br>
</Br>
在从CMDIFrameWnd中继承的类CMainFrame代替CFramWnd后,所有的类都将从CMDIFrame继承,而不是CFrameWnd,编译运行后你就会发现程序已经从SDI变换到MDI。<Br>
注意:在CMainFram中必须将构造函数从private改为public.否则会出错。<Br>
</Br>
</Br>
</p></td></tr>
</table>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -