如何设置一个窗体,为MDI的子窗体的子窗体?

eeyyllehs 2008-12-04 10:38:13
如何设置一个窗体,为MDI的子窗体的子窗体?
在线等...
...全文
199 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wap21 2008-12-14
  • 打赏
  • 举报
回复
帮顶
dbhme 2008-12-14
  • 打赏
  • 举报
回复
up
filec75 2008-12-14
  • 打赏
  • 举报
回复
up
zxb096 2008-12-14
  • 打赏
  • 举报
回复
Form2.Show
'' 使用API设置Form2的父窗口为Form1
SetParent Form2.hWnd, Form1.hWnd

Form3.Show
'' 使用API设置Form3的父窗口为Form2
SetParent Form3.hWnd, Form2.hWnd


foison88 2008-12-14
  • 打赏
  • 举报
回复
'你不想写多个SetParent也行,加个模块代码如下:
Option Explicit

Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Public Sub OpenForm(MDIfrm As Form, chfrm As Form)
chfrm.Show
SetParent MDIfrm.hWnd, chfrm.hWnd
End Sub

'窗口代码

Private Sub Command1_Click()
'OpenForm Me, Form2
OpenForm Form1, Form2
End Sub
'''''''''''''''''''
以上方法主窗体用了Toolbar控件好像会被挡住
最好用属性设置mdichild=true
eeyyllehs 2008-12-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chenjl1031 的回复:]
Form1的窗体代码:


VB codeOption Explicit

Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Sub Command1_Click()

Form2.Show
'' 使用API设置Form2的父窗口为Form1
SetParent Form2.hWnd, Form1.hWnd

Form3.Show
'' 使用API设置Form3的父窗口为Form2
SetParent Form3.hWnd, Form2.hWnd


[/Quote]


如果有多个FORM3窗体呢?是不是在每个窗体模块都定义SETPARENT函数?
如果是这样,有没有其他方法?
东方之珠 2008-12-04
  • 打赏
  • 举报
回复
Form1的窗体代码:

Option Explicit

Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Sub Command1_Click()

Form2.Show
'' 使用API设置Form2的父窗口为Form1
SetParent Form2.hWnd, Form1.hWnd

Form3.Show
'' 使用API设置Form3的父窗口为Form2
SetParent Form3.hWnd, Form2.hWnd

End Sub
duyin2004 2008-12-04
  • 打赏
  • 举报
回复
将此窗体的属性中mdichild=true
wenkeliu 2008-12-04
  • 打赏
  • 举报
回复
C#
this.ismdiparient=true;
formchild child1=new formchild();
child1.mdiparient=this;

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧