VB考試教程:利用ActiveX控件進(jìn)行窗體的界面設(shè)計(jì)

字號(hào):

一、利用ActiveX控件進(jìn)行窗體的界面設(shè)計(jì)   
    在VB的可視化的編程環(huán)境中,用戶(hù)不必編寫(xiě)大量的代碼,就可以利用VB提供的功能強(qiáng)大的大量控件設(shè)計(jì)出豐富的界面,這樣一來(lái)可以使程序員從繁瑣的代碼編寫(xiě)任務(wù)中解脫出來(lái),從而投入到更具有創(chuàng)造力和想象力的工作中去,設(shè)計(jì)出有個(gè)性,有特色、友好的界面。
    下面是一個(gè)利用ActiveX控件來(lái)進(jìn)行程序界面設(shè)計(jì)的示例,在這個(gè)示例程序中所用到的一些控件在程序的初始化階段沒(méi)有被加載,需在讀者自己把它們添加到工具箱中。
    1.啟動(dòng)一個(gè)新工程,向工具箱中添加ActiveX控件
    啟動(dòng)一個(gè)新的標(biāo)準(zhǔn)Exe工程,然后選擇菜單[工程]/[部件],在彈出的對(duì)話(huà)框中選擇選中部件對(duì)話(huà)框中的Microsoft Table Dialog Control6.0,確認(rèn)后返回設(shè)計(jì)狀態(tài),就會(huì)發(fā)現(xiàn)SSTab控件已經(jīng)加入到工具箱中。
    2.設(shè)置SSTab控件屬性
    SSTab控件的狀態(tài)可以在程序中動(dòng)態(tài)的修改,比如在窗體的設(shè)計(jì)階段雙擊窗體,在窗體的Form_load()事件中添加下列代碼:
    Private Sub Form_load()
    SSTab1.TabCaption(1)="選項(xiàng)1" '設(shè)置選項(xiàng)1上的文本。
    SSTab1.TabVisible(2)=False '設(shè)置選項(xiàng)2上的可見(jiàn)狀態(tài)為不可見(jiàn)。
    SSTab1.TabEnabled(0)=False '設(shè)置選項(xiàng)0的有效狀態(tài)為無(wú)效。
    SSTab1.Tab=1 '設(shè)置選項(xiàng)1為選中的狀態(tài)
    SSTab1.Tabs=4 '添加一個(gè)選項(xiàng)
    SSTab1.TabsPerRow = 4 '設(shè)置一行中出現(xiàn)的標(biāo)簽卡數(shù)為4
    End Sub
    3.向窗體上添加控件
    設(shè)計(jì)一個(gè)用于算術(shù)運(yùn)算的應(yīng)用例子,先向窗體上添加一個(gè)CommandButton控件,兩個(gè)TextBox控件,一個(gè)SSTab控件,四個(gè)ToggleButton控件、兩個(gè)UpDown控件和四個(gè)Lable控件。
    在部件對(duì)話(huà)框中選中 Micrsoft Forms 2.0 Object Liberary和Micrsoft Windows Common Controls_25.0(SP2),添加ToggleButton控件和UpDown控件到工具箱。
    控件說(shuō)明如下:
    CommandButton 控件用來(lái)結(jié)束程序的運(yùn)行,為程序的正常結(jié)束提供一個(gè)出口。
    TextBox控件用來(lái)顯示程序中的兩個(gè)變量X和Y的值。
    UpDown控件用來(lái)實(shí)現(xiàn)變量的更新。
    ToggleButton控件用來(lái)實(shí)現(xiàn)不同的加減乘除運(yùn)算。
    Lable控件用來(lái)顯示文本的運(yùn)算結(jié)果。
    SSTab控件用來(lái)顯示不同的選項(xiàng),同時(shí)作為T(mén)oggleButton控件的容器。
    4.添加事件響應(yīng)代碼
    Private Sub Command1_Click()
    End
    End Sub
    Private Sub Form_Load()
    SSTab1.TabCaption(0) = "加法"
    SSTab1.TabCaption(1) = "減法"
    SSTab1.TabCaption(2) = "乘法"
    SSTab1.TabCaption(3) = "除法"
    If Text1.Text = "" Then '在設(shè)計(jì)時(shí),將窗體上的兩個(gè)文本框的屬性清空。
    Text1.Text = "0.00000"
    End If
    If Text2.Text = "" Then
    Text2.Text = "0.00000"
    End If
    End Sub
    Private Sub SSTab1_Click(PreviousTab As Integer)
    ToggleButton1.Enabled = True
    End Sub
    Private Sub Text2_Change()
    If Text2.Text = 0 Then
    ToggleButton4.Enabled = False '如果Text2中的數(shù)字為0,除法無(wú)效。
    Else
    ToggleButton4.Enabled = True
    End If
    End Sub
    Private Sub ToggleButton4_Click()
    Label4.Caption = Val(Text1.Text) / Val(Text2.Text)
    End Sub
    Private Sub ToggleButton3_Click()
    Label4.Caption = Val(Text1.Text) * Val(Text2.Text)
    End Sub
    Private Sub ToggleButton2_Click()
    Label4.Caption = Val(Text1.Text) - Val(Text2.Text)
    End Sub
    Private Sub ToggleButton1_Click()
    Label4.Caption = Val(Text1.Text) + Val(Text2.Text)
    End Sub
    Private Sub UpDown1_DownClick()
    If Text1.Text > 0 Then
    Text1.Text = Val(Text1.Text) - 1
    End If
    End Sub
    Private Sub UpDown1_UpClick()
    If Text1.Text = "" Then
    Text1.Text = 0
    End If
    Text1.Text = Val(Text1.Text) + 1
    End Sub
    Private Sub UpDown2_DownClick()
    If Text2.Text > 0 Then
    Text2.Text = Val(Text2.Text) - 1
    End If
    End Sub
    Private Sub UpDown2_UpClick()
    If Text2.Text = "" Then
    Text2.Text = 0
    End If
    Text2.Text = Val(Text2.Text) + 1
    End Sub