第一种方法是建立一个MDI窗体,然后把普通的form窗体设置成它的子窗体。
第二种方法是使用Windows API设置一个普通form窗体为另外一普通窗体的子窗体。
一、先来看看如何建立MDI窗体的子窗体:
1、启动vb6,新建一个标准EXE工程。
2、在“工程”菜单里选择“添加MDI窗体”,
点击“打开”,添加了一个MDIForm1窗体,
这步也可以工程窗口的窗体图标上右键完成。
3、在“工程”菜单里选择“XXX 属性”,
在d出的窗口里把启动对象设成MDIForm1。
4、在form1的属性窗口里,把MDIChild属性设置为True。
5、在Private Sub MDIForm_Load()过程里添加form1.show。
6、运行程序,看到设置已经成功。
二、使用Windows API建立子窗体:
1、1、启动vb6,新建一个标准EXE工程。
2、在“工程”菜单里选择“添加窗体”,
点击“打开”,添加了一个form2窗体,
这步也可以工程窗口的窗体图标上右键完成。
3、双击form1窗体,在通用里加入以下windows API:
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
4、在form1的Private Sub Form_Load()过程里加入
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
5、运行程序,可以看form2已经是form1的子窗体了。
6、完整程序代码如下:
Option Explicit
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
Private Sub Form_Load()
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
End Sub
可以啊,VB6我知道的有两种方法动态添加、删除控件,一种是用Controls,一种是用控件数组,不知道你用的哪种?用Controls:
dim frame1 as Frame
Set frame1 = Controls.Add("VB.Frame", "aa") ‘添加
frame1 .Visible = True
frame1.Width = 1000‘调整大小
frame1.Height = 1000
Controls.Remove aa’删除
用控件数组:
首先在窗体上添加一个Frame控件,命名为frameArray,Index属性为0
Load frameArray(1) '添加
frameArray(1).Width = 1000‘调整大小
frameArray(1).Height = 1000
frameArray(1).Visible = True
Unload frameArray(1) '删除
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)