六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

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

在VB中動態(tài)添加可響應(yīng)消息的控件

[摘要]在VB編程中,經(jīng)常要根據(jù)不同的情況在運(yùn)行時向窗口中添加或者刪除控件,而各個控件還要響應(yīng)各種事件。在一般的情況下是首先在設(shè)計時將控件加入到窗口中,在它們的各個事件中寫入代碼,然后將它們的Visible屬性設(shè)置為False。在運(yùn)行時再使控件顯示出來,但是這樣既不方便同時也因?yàn)樵谠O(shè)計時在窗口中加入太多的...
    在VB編程中,經(jīng)常要根據(jù)不同的情況在運(yùn)行時向窗口中添加或者刪除控件,而各個控件還要
響應(yīng)各種事件。在一般的情況下是首先在設(shè)計時將控件加入到窗口中,在它們的各個事件中寫入
代碼,然后將它們的Visible屬性設(shè)置為False。在運(yùn)行時再使控件顯示出來,但是這樣既不方便
同時也因?yàn)樵谠O(shè)計時在窗口中加入太多的控件而使得程序的運(yùn)行速度變慢。下面我向大家介紹一
種通過編程在運(yùn)行時動態(tài)添加和刪除控件的方法
    首先建立一個工程文件,然后在Form1中加入以下的代碼:
    Dim WithEvents cmdMyCommand As VB.CommandButton
    Option Explicit
    注釋:在下面的定義中,程序定義了一個TextBox控件、一個CommandButton控件
    注釋:和一個附加控件。
    Dim WithEvents ctlDynamic As VBControlExtender
    Dim WithEvents ctlText As VB.TextBox
    Dim WithEvents ctlCommand As VB.CommandButton
    Dim WithEvents ctlCommandDel As VB.CommandButton
    Private Sub ctlCommandDel_Click()
        Dim i As Integer
        
        注釋:將控件的許可證信息刪除
        Licenses.Remove "MSComctlLib.TreeCtrl"
        If MsgBox("是否刪除所有控件", vbYesNo) = vbYes Then
        For i = 1 To Form1.Controls.Count
            Controls.Remove 0
        Next i
        End If
    End Sub
    Private Sub ctlCommand_Click()
        ctlText.Text = "你點(diǎn)擊的是控制按鈕"
    End Sub

    Private Sub ctlDynamic_ObjectEvent(Info As EventInfo)
        注釋:當(dāng)點(diǎn)擊樹形控件的某一個條目后,在ctlText中顯示條目。
        If Info.Name = "Click" Then
            ctlText.Text = "你點(diǎn)擊的條目是 " & _
                    ctlDynamic.object.selecteditem.Text
        End If
    End Sub

    Private Sub Form_Load()
        Dim i As Integer
        注釋: 將樹形控件的許可證信息加入到許可證集合中
        注釋: 如果許可證已經(jīng)存在,則會返回錯誤信息732
        Licenses.Add "MSComctlLib.TreeCtrl"

        注釋: 在Form中動態(tài)的加入一個樹形控件,如果你想樹形控件建立到不同的
        注釋:容器中,象一個Frame控件或者PictureBox控件,你只要將Controls.Add
        注釋:函數(shù)的第三個參數(shù)改為特定的容器名就可以了
        Set ctlDynamic = Controls.Add("MSComctlLib.TreeCtrl", _
                        "myctl", Form1)
        注釋:設(shè)置樹形控件的位置和尺寸
        ctlDynamic.Move 1, 1, 2500, 3500
        注釋:在樹形控件中加入10個節(jié)點(diǎn)
        For i = 1 To 10
            ctlDynamic.object.nodes.Add Key:="Test" & Str(i), _
                    Text:="Test" & Str(i)
            ctlDynamic.object.nodes.Add Relative:="Test" & Str(i), _
                    Relationship:=4, Text:="TestChild" & Str(i)
        Next i
        注釋:使樹形控件可見
        ctlDynamic.Visible = True

        注釋:加入一個TextBox
        Set ctlText = Controls.Add("VB.TextBox", "ctlText1", Form1)
        注釋:設(shè)置TextBox的位置和尺寸
        ctlText.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
                        1, 2500, 100
        注釋:將textBox的背景色設(shè)置為藍(lán)色并將前景色設(shè)置為白色
        ctlText.BackColor = vbBlue
        ctlText.ForeColor = vbWhite
        注釋:使TextBox可見
        ctlText.Visible = True

        注釋:加入一個CommandButton
        Set ctlCommand = Controls.Add("VB.CommandButton", _
                        "ctlCommand1", Form1)
        注釋:設(shè)置CommandButton的位置和尺寸
        ctlCommand.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
                        ctlText.Height + 50, 1500, 500
        注釋:設(shè)置CommandButton的標(biāo)題
        ctlCommand.Caption = "點(diǎn)擊"
        注釋:使CommandButton可見
        ctlCommand.Visible = True
        
        注釋:建立一個刪除按鈕
        Set ctlCommandDel = Controls.Add("VB.CommandButton", _
                        "ctlCommand2", Form1)
        ctlCommandDel.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
                        ctlText.Height + 650, 1500, 500
        ctlCommandDel.Caption = "刪除所有控件"
        ctlCommandDel.Visible = True
    End Sub
    運(yùn)行上面的程序,可以看到程序在窗口中加入了三個VB標(biāo)準(zhǔn)控件:一個TextBox和兩個
CommandButton還加入了一個擴(kuò)展的ActiveX控件:樹形控件。這些控件還可以響應(yīng)消息,
點(diǎn)擊樹形控件中的項(xiàng)目或者“點(diǎn)擊”按鈕就可以在文本框中顯示相應(yīng)的內(nèi)容。點(diǎn)擊“刪除
所有控件”按鈕就可以刪除加入的所有控件了。
    通過上面的程序可以看到,通過WithEvents可以定義帶事件相應(yīng)的控件,對于標(biāo)準(zhǔn)的VB
控件(例如CommandButton、TextBox等)可以通過VB.XXX來定義,其中XXX是控件的類的名稱
,而對于擴(kuò)展的ActiveX控件,可以通過VBControlExtender來定義,在裝載擴(kuò)展控件以前,
首先要使用Licenses對象加入控件的許可證信息。
    上面的程序在VB6,WIN98中文版下運(yùn)行通過。


主站蜘蛛池模板: 天天插天天操天天干 | 亚洲综合a| 三级小说在线 | 探花视频免费观看高清 | 一二三四视频中文字幕 | 中文字幕激情 | 中日韩免费视频 | 性色欧美 | 日本色影| 青草娱乐极品免费视频 | 杨幂国产精品福利在线观看 | 亚洲伦理在线观看 | 日黄网站| 日本美女一级视频 | 污污在线观看视频 | 揄拍成人国产精品视频 | 一本久久精品一区二区 | 中文字幕在线天堂 | 视频在线色 | 亚洲日本va中文字幕 | 天天操天天曰 | 色婷婷5月 | 日本激情一区二区三区 | 小说区 亚洲 自拍另类 | 亚洲看看| 亚欧乱色精品免费观看 | 人人干日日干 | 最近免费的中文字幕一 | 真实国产乱子伦精品一区二区三区 | 五福影院新址进入www1378 | 欧美性xxxxxx爱 | 色综合久久久久久久 | 亚洲免费a| 亚洲成a人不卡在线观看 | 外国毛片网站 | 中文字幕日韩三级 | 青草影院在线观看免费版 | 中文字幕成人免费高清在线 | 日韩视频欧美视频 | 中文字幕日韩一区二区不卡 | 亚洲sss|