第一种,是最常用的,也是使Vb变得简单的一个优势,就是直接从工具箱中zhidao选择空间,添加到窗体中,还可以选中控件,设置各种专属性,设置好后,就无需再用代码进行设置。
第二种,比较复杂,就是直接用代码添加控件。需要用代码指定控件的大小属、位置等等各种属性,一般在Vb中用的较少。
一、利用ActiveX控件进行窗体的界面设计
在VB的可视化的编程环境中,用户不必编写大量的代码,就可以利用VB提供的功能强大的大量控件设计出丰富的界面,这样一来可以使程序员从繁琐的代码编写任务中解脱出来,从而投入到更具有创造力和想象力的工作中去,设计出有个性,有特色、友好的界面。
下面是一个利用ActiveX控件来进行程序界面设计的示例,在这个示例程序中所用到的一些控件在程序的初始化阶段没有被加载,需在读者自己把它们添加到工具箱中。
1.启动一个新工程,向工具箱中添加ActiveX控件
启动一个新的标准Exe工程,然后选择菜单[工程]/[部件],在d出的对话框中选择选中部件对话框中的Microsoft Table Dialog Control6.0,确认后返回设计状态,就会发现SSTab控件已经加入到工具箱中。
2.设置SSTab控件属性
SSTab控件的状态可以在程序中动态的修改,比如在窗体的设计阶段双击窗体,在窗体的Form_load()事件中添加下列代码:
Private Sub Form_load()
SSTab1.TabCaption(1)="选项1" '设置选项1上的文本。
SSTab1.TabVisible(2)=False '设置选项2上的可见状态为不可见。
SSTab1.TabEnabled(0)=False '设置选项0的有效状态为无效。
SSTab1.Tab=1 '设置选项1为选中的状态
SSTab1.Tabs=4 '添加一个选项
SSTab1.TabsPerRow = 4 '设置一行中出现的标签卡数为4
End Sub
3.向窗体上添加控件
设计一个用于算术运算的应用例子,先向窗体上添加一个CommandButton控件,两个TextBox控件,一个SSTab控件,四个ToggleButton控件、两个UpDown控件和四个Lable控件。
在部件对话框中选中 Micrsoft Forms 2.0 Object Liberary和Micrsoft Windows Common Controls_25.0(SP2),添加ToggleButton控件和UpDown控件到工具箱。
控件说明如下:
CommandButton 控件用来结束程序的运行,为程序的正常结束提供一个出口。
TextBox控件用来显示程序中的两个变量X和Y的值。
UpDown控件用来实现变量的更新。
ToggleButton控件用来实现不同的加减乘除运算。
Lable控件用来显示文本的运算结果。
SSTab控件用来显示不同的选项,同时作为ToggleButton控件的容器。
4.添加事件响应代码
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 '在设计时,将窗体上的两个文本框的属性清空。
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中的数字为0,除法无效。
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
比如说添加一个文本框:
Dim t As TextBoxSet t = Controls.Add("VB.TextBox", "t1")
t.Move 300, 150, 3000, 2400
t.Visible = True
VB.TextBox 是文本框的类名,其他控件也有对应的类名,你可以自己去查。比如按钮就是 VB.CommandButton 。另外,代码建立的控件其Visible属性默认是False的(也就是不显示),要改为True才行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)