Private DeclareFunction SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
一.函数功能:
改变某个子窗体的父窗口
二.参数说明
hWndChild :子窗口句柄 hWndNewParent:新的父窗口句柄
(句柄:一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例)
三.返回值
函数成功:返回子窗体的原父窗口句柄(注意是一个整数值Long)
函数不成功:返回NULL
四.举例说明
1.窗体设计:一个模块,一个父窗体·MDIForm1,一个子窗体form
Private Sub Command1_Click()
a = (SetParent(Form1.hWnd, Picture1.hWnd)) '将新父窗口句柄付给变量 a
Form1.Show '子窗体显示
Form1.Label1.Caption = a
End Sub
2.运行结果:
第一次运行结果为:
第二次运行结果为:
为什么两次运行的结果不一样那???
原因是:显示的是句柄,是一个整数值,句柄是系统随机分配的,一个窗体只有一个句柄,但每个窗口上的每一个控件(按钮,图片框......)这些都有独立的句柄,此程序显示的是图片框的句柄(应为图片框作为了新的父窗口)