vb 为什么添加mdi窗体用不了 是灰色的

vb 为什么添加mdi窗体用不了 是灰色的,第1张

这里的“添加mdi窗体”添加的是MDI主窗体,而同一个工程中只能存在一个MDI主窗体(说得通俗点就是一个家里只能有一个爸爸!),在这种情况下就无法再添加MDI主窗体了(所以是灰色的)。如果你的目的是想添加MDI子窗体,那么你可以点“添加窗体”,然后把新添加的窗体的MDIChild属性设为True即可。

在添加部件的时候点上Microft Internet transfer control 6.0(SP6),下面会有它对应的文件名,MSINET.ocx。

在运行里输入“regsvr32 MSINET.ocx”就好了。如果还不行就打下vb的sp6补丁,好运!

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


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

原文地址:https://54852.com/bake/11752807.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存