MDI子窗体与picturebox的层次问题

来源:互联网 发布:豆瓣电影评分 知乎 编辑:程序博客网 时间:2024/06/05 01:02

   在MDI窗体中子窗体实际上是位于MDIClient 里的,就是说子窗体的父窗体MDIClient而放置在MDI窗体中的picturebox 和MDIClient是同一级的所以就导致了子窗体不可见。此时MDI窗体中的层次结构如下:
ThunderMDIForm--MDIForm1
----MDIClient
----ThunderFormDC--Form1

----ThunderPictureBoxDC MDI中的picturebox

 

        由于MDI窗体没有zorder这个方法来调整层次。 因此,如果要将子窗体放到上面就只能运用setparent这个API函数来重新为子窗体指定一个父窗口。

函数声明为:

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

代码为:

SetParent Form1.hWnd, MDIForm1.hWnd

这样子窗体就能显示在最上层了。不过据说这么做可能会出问题!只是我使用过程中没有遇到,所以不太了解!

另外这个函数还可以用于子窗体从当前父窗体移出移进的功能,你对此有什么想法?请看我的下篇博客!
原创粉丝点击