Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
函数参数说明:hWndChild
子窗口(控件)的句柄。hWndNewParent hWndChild 子窗口的新的父窗口(容器)。返回值:类型为 Long(长整型)。如果调用成功,返回前一个父窗口(容器)的句柄。
可用这个函数在运行期间将 VB 控件置入容器内部(例如:将一个窗体放入另一个窗体中,或者将控件从一个容器控件移至另一个容器控件中。)
程序代码:
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long 'API 的 SetParent 函数
Private Sub Command1_Click() '窗体 Form1 的按钮单击事件
Dim CB As Long
CB = SetParent(Form3.hWnd, Form2.hWnd) '取得函数的返回值。
If CB > 0 Then '函数返回值大于 0,说明函数调用成功。
MsgBox "已经设置主窗体。"
Unload Me '关闭并清除 Form1 窗体
Form2.Show '打开刚刚设置的主窗体
Form3.Show '打开子窗体
Else
MsgBox "不能设置主窗体。"
End If
End Sub
点击 Form1 中的 Command1 按钮完全没有问题,窗体 Form3 已经置于窗体 Form2 中。
[此贴子已经被作者于2018-12-20 12:56编辑过]