1.基本操作(2小题,每小题15分,共计30分)
(2)在名称为Form1的窗体上画一个图片框(名称为Picture1)、一个水平滚动条(名称为HScroll1)和一个命令按钮(名称为Command1,标题为“设置属性”),通过属性窗口在图片框中装入一个图形(文件名为pic1.jpg,位于考生目录下),图片框的高度与图形的高度相同,图片框的宽度任意(如图1所示)。编写适当的事件过程,程序运行后,如果单击命令按钮,则设置水平滚动条的如下属性:
Min 100
Max 1500
LargeChange 100
SmallChange 10
之后就可以通过移动滚动条上的滚动块来放大或缩小图片框。运行后的窗体如图2所示。程序中不得使用任何变量。
Private Sub Command1_Click()
HScroll1.Min = 100
HScroll1.Max = 1500
HScroll1.LargeChange = 100
HScroll1.SmallChange = 10
End Sub
Private Sub HScroll1_Change()
Picture1.Width = HScroll1.Value
End Sub
2.简单应用(2小题,每题20分,计40分)
(1)在名称为Form1的窗体上画一个计时器,其名称为Timer1;再画一个图像框,其名称为Image1,在该图像框中装入一个图形文件pic.ico;然后画一个水平滚动条,其名称为HScroll1,Min属性值为100,Max属性值为1200,LargeChange属性值为100,SmallChange属性值为25,编写适当的事件过程。程序运行后,可以使图像框闪烁,其闪烁速度可以通过滚动条调节。
提示:图像框的闪烁可以通过图像框交替地显示和隐藏来实现。
Private Sub HScroll1_Change()
Timer1.Interval = HScroll1.Value
End Sub
Private Sub Timer1_Timer()
Image1.Visible = Not Image1.Visible
End Sub
(2)在考生目录下有一个工程文件sjt22.vbp,包含了所有控件和部分程序,如图所示。
要求:1)利用属性窗口设置适当的属性:
为List1列表框添加3个项目:宋体、黑体、楷体_GB2312;Text1文本框设置初始值为“计算机”;Hscroll1水平滚动条设置最小值和最大值分别为10和50。
2)去掉程序中的注释符,把程序中的?改为正确的内容,完成以下功能:如果在列表框中选择一种字体,然后移动滚动条中的滚动框,则可使文本框中的文字按所选择的字体显示,并可随着滚动框的移动放大或缩小;如果不选择字体直接移动滚动框,则显示一个信息框,提示“请选择字体”。
注意:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
Private Sub HScroll1_Change()
Text1.FontSize = HScroll1.Value
' Text1.FontSize = ?
If List1.Text <> "" Then
Text1.FontName = List1.Text
' Text1.FontName = ?
Else
MsgBox "请选择字体", , ""
End If
End Sub
3.综合应用(1小题,计30分)
在考生目录下有一个工程文件sjt31.vbp,其中的窗体中有一个名为Text1的文本框,初始内容为0;一个标签;一个计时器;一个有两个元素的单选按钮数组,名称为Op1,标题依次为“1秒”、“3秒”;两个命令按钮,名称分别为C1、C2,标题分别为“开始计数”、“停止计数”,同时给出了两个事件过程,但并不完整。在运行时要完成下面的功能:
单击一个单选按钮,可以设置计时间隔为1秒或3秒;单击“开始计数”,则Text1中的数按设定的计时间隔每次加1;单击“停止计数”,则Text1中的数不再变化。
请按下面的`要求设置属性和编写程序,以便实现上述功能:
1)设置计时器的属性,使其在初始状态下不计时。
2)去掉程序中的注释符,把程序中的?改为正确的内容。
3)为两个命令按钮编写适当的事件过程,每个事件过程中只能有一条语句,不能使用变量。
'要求考生编写的程序:
Private Sub C1_Click()
Form1.Timer1.Enabled = True
'或 Timer1.Enabled = 1 或非0值
'在 Timer1的前面可以加:Me. 、Form1. 、C2.Parent.
End Sub
Private Sub C2_Click()
Me.Timer1.Enabled = False
'或 Timer1.Enabled = False
'在 Timer1的前面可以加:Me. 、Form1. 、C3.Parent.
End Sub
'提供给考生的程序:
Private Sub Op1_Click(Index As Integer)
' Select Case ?
Select Case Index
Case 0
Timer1.Interval = 1000
Case 1
Timer1.Interval = 3000
End Select
End Sub
Private Sub Timer1_Timer()
' Text1.Text = ?.Text + 1
Me.Text1.Text = Form1.Text1.Text + 1
End Sub
'答案:
'Index
'Text1
1.
2.
3.
4.
5.
6.
7.
8.