明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

用VB6完成動態(tài)增減控件

[摘要]用過Internet Explorer收藏夾的朋友都知道,利用鼠標(biāo)單擊時收藏夾會出現(xiàn),再次單擊則收藏夾消失。從編程角度講,這是個在程序運行階段動態(tài)增減控件的問題。以前,這僅僅是C++之類編程語言的專...
用過Internet Explorer收藏夾的朋友都知道,利用鼠標(biāo)單擊時收藏夾會出現(xiàn),再次單擊則收藏夾消失。從編程角度講,這是個在程序運行階段動態(tài)增減控件的問題。以前,這僅僅是C++之類編程語言的專利。如今,微軟在Visual Basic6.0中也新增了這個功能,下面就此舉例進(jìn)行介紹:
  1.新建一個工程,窗體Form1為缺省窗體,F(xiàn)orm1的屬性項Caption=″動態(tài)增減控件的例子″。
  2.加入兩個命令按鈕(CommandButton),其中:
  Command1的屬性項Caption=″增加控件″;
  Command2的屬性項Caption=″刪除控件″。
  3.加入如下代碼,運行該工程,單擊″增加控件″則出現(xiàn)新增按鈕。若單擊″新增按鈕″時會出現(xiàn)對話框,表明你觸發(fā)的是動態(tài)增加控件的單擊事件。
  Option Explicit
  ′通過使用WithEvents關(guān)鍵字聲明一個對象變量為新的命令按鈕
  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
  ′刪除控件(注:只能刪除動態(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″您選中的是動態(tài)增加的按鈕!″
  End Sub
  注意:如果你希望添加一個用戶控件或任何ActiveX控件到您的窗體,必須把這個控件添加到“工具箱”,或者把控件的License關(guān)鍵字添加到Licenses集合中。而且,你不能選定“工程屬性”對話框的“生成”選項卡上的“刪除有關(guān)未使用的ActiveX控件”選項,否則controls.Add方法將失敗,因為必需的信息已經(jīng)被丟失。