您的位置:首页 > 其它

MDI子窗体如何显示在picture控件的前面

2013-09-28 21:44 267 查看
在敲机房收费系统的时候遇到了一点小麻烦,就是在MDI主窗体上添加容器控件picture后,导致MDI子窗体无法显示。其实不是无法显示,只是被picture控件挡住了,不明其所以然。
通过查资料终于明白了其中的原因:在MDI窗体中,子窗体实际上位于MDIClient里,即子窗体的父窗体就是MDIClient,而防止在MDI中的picture控件和MDIClient是同一级别的,由于层次结构,所以无法使子窗体显示在picture控件的上面。
如果想要实现这个功能,只能破坏Form的消息循环,可以使用如下函数:Private
Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

该函数功能:该函数改变某个子窗口的父窗口。
返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。
在事件中添加如下代码就可以了:
SetParent Form1.hWnd, MDIForm1.hWnd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: