刚开始做机房收费系统的时候,就遇到了这样的问题,如下图:
这可怎么办?于是果断百度,百度解说,MDI窗体上是不允许放控件的,but,可以在MDI窗体上放一个picturebox控件然后就能够放控件了,于是就这样去做了。
之后又遇到了一个牵连的问题,当我在show我的子窗体时却显示不出来了,又果断百度,原来这样的小问题一个API函数就解决了,如下:
法一:
<span style="font-family:KaiTi_GB2312;font-size:18px;">'通用中写此API函数 Private Declare Function SetParent Lib "user32" & _ (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long Private Sub command_Click() 'form2为你要调用的子窗体! SetParent from2.hWnd, Picture1.hWnd End Sub</span>
后来在做的时候又遇到了一个问题,在另一个主窗体中如何调用这个主窗体的子窗体呢?如下:
法二:
<span style="font-family:KaiTi_GB2312;font-size:18px;">'通用写API函数 Private Declare Function SetParent Lib "user32" & _ (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long Private Sub command_Click() 'form2为要调用的子窗体,form1为其主窗体;command写在另一个主窗体中 SetParent form2.hWnd, form1.Picture1.hWnd form2.Show End Sub</span>
相信有了下图你的思路会更加清晰:
有了这样的方法,相信你的路会走的更加坚定!
http://hl1871358.blog.163.com/blog/static/225526047201472285236416
另外推荐以上韩林的另一种解决的好方法!