MDI子窗体与picturebox的层次问题

   在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

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

另外这个函数还可以用于子窗体从当前父窗体移出移进的功能,你对此有什么想法?请看我的下篇博客!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值