加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VB6如何创建主窗体的子窗体

(2019-10-12 10:12:18)
分类: VB
VB6如何创建主窗体的子窗体
━━━━━━━━━━━━━━━━━━━━━━━━━

现有一个主窗体form1,想创建其一个子窗体form2,请问应该如何编写代码和更改其属性?

vb6建立主窗体的子窗体有两种方法:
第一种方法是建立一个MDI窗体,然后把普通的form窗体设置成它的子窗体。
第二种方法是使用Windows API设置一个普通form窗体为另外一普通窗体的子窗体。

一、先来看看如何建立MDI窗体的子窗体:
1、启动vb6,新建一个标准EXE工程。
2、在“工程”菜单里选择“添加MDI窗体”,点击“打开”,添加了一个MDIForm1窗体,这步也可以工程窗口的窗体图标上右键完成。
3、在“工程”菜单里选择“XXX 属性”,在弹出的窗口里把启动对象设成MDIForm1。
4、在form1的属性窗口里,把MDIChild属性设置为True。
5、在Private Sub MDIForm_Load()过程里添加form1.show。
6、运行程序,看到设置已经成功。

二、使用Windows API建立子窗体:
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
━━━━━━━━━━━━━━━━━━━━━━━━━ 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有