数据库—机房收费系统之MDI窗体与子窗体

     刚开始做机房收费系统的时候,就遇到了这样的问题,如下图:

                   数据库—机房收费系统之MDI窗体与子窗体_第1张图片

    这可怎么办?于是果断百度,百度解说,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>

 
    相信有了下图你的思路会更加清晰: 
 

                      数据库—机房收费系统之MDI窗体与子窗体_第2张图片

   有了这样的方法,相信你的路会走的更加坚定!

   http://hl1871358.blog.163.com/blog/static/225526047201472285236416

   另外推荐以上韩林的另一种解决的好方法!

你可能感兴趣的:(数据库,思路)