是不是就是MDI(多文档界面)?
我是这样理解的,也就这样给你回答吧!
窗体有个属性,你找一下,把IsMdiContainer
这个属性改成true,
这个窗体就是你说的父窗体!
子窗体的话,就是在show()的时候有个属性,子窗体名.MdiParent
=this.
比如:
form1
f
=new
form1()
f.mdiparent=thisf.show()
(这里的form1
是你的子窗体!)
SetParent声明方法:
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent);
参数:
hWndChild:子窗口句柄。
hWndNewParent:新的父窗口句柄。如果该参数是NULL,则桌面窗口就成为新的父窗口。在WindowsNT5.0中,如果参数为HWND_MESSAGE,则子窗口成为消息窗口。
返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。若想获得多错误信息,请调用GetLastError函数。
备注:应用程序可以使用SetParent函数来设置d出式窗口,层叠窗口或子窗口的父窗口。新的窗口与窗口必须属于同一应用程序。
答案参考来自百度百科
子窗口肯定显示在父窗口上,无论模态非模态,除非你调起了另一个程序窗口,否则肯定子窗口在父窗口之上。 将Create的对话框的父窗口指定为桌面即可。 void CParentDlg::OnXXXX() { CChildDlg* pDlg = new CChildDlgpDlg->Create(CChildDlg::ID欢迎分享,转载请注明来源:内存溢出
评论列表(0条)