VB中如何新建窗体

VB中如何新建窗体,第1张

vb6建立主窗体的子窗体有两种方法:

第一种方法是建立一个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

1、首先进入MDI窗体。

2、在MDI窗体下选择菜单栏中的“工程”。汪肆

3、在工程中单击“添加窗体”。

4、在打开的对话框中选择“窗体”并单击“打困咐轿开|”按钮。

5。把打开后的窗体的MDIchild属性设置为True。

注:只简悄要有MDI窗体。在该窗体下的所有窗体的MDIchild属性设置为trueI窗体的子窗体。

直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True,然后创建第二个窗体 ,需要加载子窗体的时候:

Dim NewMDIChild As New Form2

NewMDIChild.MdiParent = Me

NewMDIChild.Show()

Public Shared Sub CheckMDIChildForm(ByVal MDIForm As Windows.Forms.Form, ByVal MDIChildForm As Windows.Forms.Form, ByVal MDIChildFormName As String)

        If MDIForm.MdiChildren.Length < 1 Then

            '如果没有任何一个MDI子窗体,则创该MDI子窗体的窗体实例

            Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体

            MDIChildFrm.MdiParent = MDIForm '指定父窗体

            MDIChildFrm.Show() '打开窗体

           李察租 Exit Sub

        Else

            Dim x As Integer

            Dim frmyn As Boolean

            For x = 0 To (MDIForm.MdiChildren.Length) - 1

                Dim tempChild As Windows.Forms.Form = CType(MDIForm.MdiChildren(x), Windows.Forms.Form)

                If tempChild.Name = MDIChildFormName Then

                    '检测到有该MDI子窗体,设为激活 并退出循环

                    frmyn = True

                    tempChild.BringToFront()

             没橘       Exit For

                Else

                    frmyn = False

                End If

     哪兆       Next

            If Not frmyn Then

                '在打开的窗体中没检测到则新建

                Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体

                MDIChildFrm.MdiParent = MDIForm '指定父窗体

                MDIChildFrm.Show() '打开窗体

            End If

        End If

    End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11996538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存