用VB6实现动态增减控件

王朝网络·厨房·作者佚名  2007-01-04
宽屏版  字体: |||超大  

用过Internet Explorer收藏夹的朋友都知道,利用鼠标单击时收藏夹会出现,再次单击则收藏夹消失。从编程角度讲,这是个在程序运行阶段动态增减控件的问题。以前,这仅仅是C++之类编程语言的专利。如今,微软在Visual Basic6.0中也新增了这个功能,下面就此举例进行介绍:

1.新建一个工程,窗体Form1为缺省窗体,Form1的属性项Caption=″动态增减控件的例子″。

2.加入两个命令按钮(CommandButton),其中:

Command1的属性项Caption=″增加控件″;

Command2的属性项Caption=″删除控件″。

3.加入如下代码,运行该工程,单击″增加控件″则出现新增按钮。若单击″新增按钮″时会出现对话框,表明你触发的是动态增加控件的单击事件。

Option Explicit

′通过使用WithEvents关键字声明一个对象变量为新的命令按钮

Private WithEvents NewButton As CommandButton

′增加控件

Private Sub Command1_Click()

If NewButton Is Nothing Then

′增加新的按钮cmdNew

Set NewButton =Controls.Add(″VB.CommandButton″,″cmdNew″, Me)

′确定新增按钮cmdNew的位置

NewButton.Move Command1.Left+Command1.Width+240, Command1.Top

NewButton.Caption =″新增的按钮″

NewButton.Visible = True

End If

End Sub

′删除控件(注:只能删除动态增加的控件)

Private Sub Command2_Click()

If NewButton Is Nothing Then

Else

Controls.Remove NewButton

Set NewButton = Nothing

End If

End Sub

′新增控件的单击事件

Private Sub NewButton_Click()

MsgBox″您选中的是动态增加的按钮!″

End Sub

注意:如果你希望添加一个用户控件或任何ActiveX控件到您的窗体,必须把这个控件添加到“工具箱”,或者把控件的License关键字添加到Licenses集合中。而且,你不能选定“工程属性”对话框的“生成”选项卡上的“删除有关未使用的ActiveX控件”选项,否则controls.Add方法将失败,因为必需的信息已经被丢失。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有