用VB6完成動(dòng)態(tài)增減控件
發(fā)表時(shí)間:2023-08-18 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]用過(guò)Internet Explorer收藏夾的朋友都知道,利用鼠標(biāo)單擊時(shí)收藏夾會(huì)出現(xiàn),再次單擊則收藏夾消失。從編程角度講,這是個(gè)在程序運(yùn)行階段動(dòng)態(tài)增減控件的問(wèn)題。以前,這僅僅是C++之類(lèi)編程語(yǔ)言的專(zhuān)...
用過(guò)Internet Explorer收藏夾的朋友都知道,利用鼠標(biāo)單擊時(shí)收藏夾會(huì)出現(xiàn),再次單擊則收藏夾消失。從編程角度講,這是個(gè)在程序運(yùn)行階段動(dòng)態(tài)增減控件的問(wèn)題。以前,這僅僅是C++之類(lèi)編程語(yǔ)言的專(zhuān)利。如今,微軟在Visual Basic6.0中也新增了這個(gè)功能,下面就此舉例進(jìn)行介紹:
1.新建一個(gè)工程,窗體Form1為缺省窗體,F(xiàn)orm1的屬性項(xiàng)Caption=″動(dòng)態(tài)增減控件的例子″。
2.加入兩個(gè)命令按鈕(CommandButton),其中:
Command1的屬性項(xiàng)Caption=″增加控件″;
Command2的屬性項(xiàng)Caption=″刪除控件″。
3.加入如下代碼,運(yùn)行該工程,單擊″增加控件″則出現(xiàn)新增按鈕。若單擊″新增按鈕″時(shí)會(huì)出現(xiàn)對(duì)話框,表明你觸發(fā)的是動(dòng)態(tài)增加控件的單擊事件。
Option Explicit
′通過(guò)使用WithEvents關(guān)鍵字聲明一個(gè)對(duì)象變量為新的命令按鈕
Private WithEvents NewButton As CommandButton
′增加控件
Private Sub Command1_Click()
If NewButton Is Nothing Then
′增加新的按鈕cmdNew
Set NewButton =Controls.Add(″VB.CommandButton″,″cmdNew″, Me)
′確定新增按鈕cmdNew的位置
NewButton.Move Command1.Left+Command1.Width+240, Command1.Top
NewButton.Caption =″新增的按鈕″
NewButton.Visible = True
End If
End Sub
′刪除控件(注:只能刪除動(dòng)態(tài)增加的控件)
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″您選中的是動(dòng)態(tài)增加的按鈕!″
End Sub
注意:如果你希望添加一個(gè)用戶控件或任何ActiveX控件到您的窗體,必須把這個(gè)控件添加到“工具箱”,或者把控件的License關(guān)鍵字添加到Licenses集合中。而且,你不能選定“工程屬性”對(duì)話框的“生成”選項(xiàng)卡上的“刪除有關(guān)未使用的ActiveX控件”選項(xiàng),否則controls.Add方法將失敗,因?yàn)楸匦璧男畔⒁呀?jīng)被丟失。