注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
(1) 在考生文件夹下有一个工程文件sjt3.vbp,窗体中有两个图片框?名称分别为P1和P2,其中的图片分别是一个航天器和一朵云,还有一个计时器控件,名称为Timer1,一个命令按钮,名称为C1,标题为“发射”。窗体文件中给出了两个事件过程,但并不完整,要求:设置计时器控件的属性,使其在初始状态下不计时;设置计时器的属性,使其每隔0.1秒调用Timer事件过程一次。
去掉程序中的注释符,把程序中的?改为正确的内容,使得在运行时单击“发射”按钮,则航天飞机每隔0.1秒向上移动一次,当到达P2的下方时停止移动。程序运行界面如图20-3所示。
注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
(2) 在考生文件夹下有一个工程文件sjt4.vbp,窗体上已经有两个文本框,名称分别为Text1和Text2;一个命令按钮,名称为C1,标题为“确定”。请画两个单选按钮,名称分别为Op1和Op2,标题分别为“男生”和“女生”;再画两个复选框,名称分别为Ch1和Ch2,标题分别为“体育”和“音乐”。请编写适当的事件过程,使得在运行时,单击“确定”按钮后实现下面的要求:
根据选中的单选按钮,在Text1中显示“我是男生”或“我是女生”;根据选中的复选框,在Text2中显示“我的爱好是体育”或“我的爱好是音乐”或“我的爱好是体育音乐”。程序运行界面如图20-4所示。
注意:不得修改已经给出的程序和已有控件的属性。在结束程序运行之前,必须选中一个单选按钮和至少一个复选框,并单击“确定”按钮。必须使用窗体右上角的关闭按钮结束程序,否则无成绩。

第1题:
注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
(1)在名称为Form1的窗体上建立两个主菜单,其标题分别为“文件”和“帮助”,名称分别为vbFile和vbHelp,在“文件”菜单下有3个子菜单项,标题分别为“新建”、“打开”和“存盘”,名称分别为 vbNew、vbOpen和vbSave。要求程序运行后,如果选中“文件”下的某个菜单项,则通过MsgBox对话框显示该菜单项的标题,如图3-3所示。
注意:保存时必须存放在考生文件夹下,窗体文件名为sjt3.frm,工程文件名为sjt3.vbp。
(2)在窗体上建立一个名称为Text1的文本框,再建立一个名称为Cmd1,标题为“计算”的命令按钮,如图3-4所示。要求程序运行后,单击命令按钮,将计算100-200之间所有素数之和,在文本框中显示结果,同时把结果存入文件out.txt中。 (在考生文件夹中有标准模块mode.bas,其中的putdata过程可以把结果存入文件,而isprime函数可以判断整数x是否为素数,如果是素数,则函数返回True,否则返回 False,考生可以把该模块文件添加到自己的工程中。)
注意:保存时必须存放在考生文件夹下,窗体文件名为sjt4.frm,工程文件名为sjt4.vbp,结果存入out.txt文件。

第二步:编写程序代码。
参考代码:
Private Sub vbNew_Click()
MsgBox“新建”vbOKOnly
End Sub
Private Sub vbOpen_Click()
MsgBox“打开”vbOKOnly
End Sub
Private Sub vbSave_Click()
MsgBox“存盘”vbOKOnly
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后先设置控件的属性值再编写事件过程。
文本框中显示的内容由Text属性设置命令按钮的标题由Caption属性设置单击命令按钮触发Click事件。解题步骤:第一步:建立菜单项。程序中用到的控件及其属性见表3-3。
第二步:编写程序代码。
参考代码:
Private Sub Cmd1_Click()
Dim i As Integer
Dim temp As Long
temp = 0
For i = 100 To 200
If isprime(i) Then
temp = temp + i
End If
Next
Text1.Text = temp
putdata "out.txt"temp
End Sub
标准模块代码:
Option Explicit
Sub putdata(t_FileName As StringT Str As Variant)
Dim sFile As String
sFile = "\" & t FileName
Open App.Path & sFile For Output As # 1
Print #1T_Str
Close #1
End Sub
Function isprime(t_I As Integer) As Boolean
Dim J As Integer
isprime = False
For J=2 To t I / 2
If t I Mod J = 0 Then Exit For
Next J
If J>t I/2 Then isprime = True
End Function
第三步:调试并运行程序。
第四步:按题目要求存盘。
第二步:编写程序代码。
参考代码:
Private Sub vbNew_Click()
MsgBox“新建”,vbOKOnly
End Sub
Private Sub vbOpen_Click()
MsgBox“打开”,vbOKOnly
End Sub
Private Sub vbSave_Click()
MsgBox“存盘”,vbOKOnly
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后,先设置控件的属性值,再编写事件过程。
文本框中显示的内容由Text属性设置,命令按钮的标题由Caption属性设置,单击命令按钮触发Click事件。解题步骤:第一步:建立菜单项。程序中用到的控件及其属性见表3-3。
第二步:编写程序代码。
参考代码:
Private Sub Cmd1_Click()
Dim i As Integer
Dim temp As Long
temp = 0
For i = 100 To 200
If isprime(i) Then
temp = temp + i
End If
Next
Text1.Text = temp
putdata "out.txt",temp
End Sub
标准模块代码:
Option Explicit
Sub putdata(t_FileName As String,T Str As Variant)
Dim sFile As String
sFile = "\" & t FileName
Open App.Path & sFile For Output As # 1
Print #1,T_Str
Close #1
End Sub
Function isprime(t_I As Integer) As Boolean
Dim J As Integer
isprime = False
For J=2 To t I / 2
If t I Mod J = 0 Then Exit For
Next J
If J>t I/2 Then isprime = True
End Function
第三步:调试并运行程序。
第四步:按题目要求存盘。
第2题:
在考生文件夹中有一个工程文件execise104.vbp及窗体文件execise104.frm。在名为 Form1的窗体中有两个图片框,名称分别为P1和P2,其中的图片分别是一个航天飞机和一朵云彩;有一个计时器,名为Timer1有一个命令按钮,名为Cmd1,标题为“发射”。并给出了两个事件过程,但并不完整,要求:
(1)设置计时器的属性,使其在初始状态下不计时。
(2)设置计时器的属性,使其每隔0.1秒调用Timer事件过程一次。
(3)去掉程序中的注释符“'”,把程序中的问号“?”改为正确的内容,使得在运行时单击“发射”按钮,则航天飞机每隔0.1秒向上移动一次,当到达云彩的下方时停止移动,如下图所示。

注意:
不能修改程序的其他部分。最后,按原文件名并在原文件夹中保存修改后的文件。

第3题:
注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
(1) 在考生文件夹下有工程文件sjt3.vbp及窗体文件sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
在窗口中有一个RichText文本框控件和一个文本框控件,名称分别为rtx1和Text1,两个命令按钮,名称分别为Command1和Command2,标题分别为“加入SJT01.TXT”、“统计字符个数”。要求程序运行后,单击command1将考生文件夹下的sjt01.txt的内容显示到rtx1中;单击“统计字符个数”按钮统计 rtx1中有多少个字符,将结果显示在Text1中。程序运行结果如图13-4所示。
(2) 在考生文件夹下有工程文件sjt4.vbp及窗体文件sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体上有一个名为Image1的图像框,要求程序运行后,鼠标左键点击图像框,则图像框变大;鼠标右键点击图像框,图像框变小。设计界面如图13-5所示。

程序提供的代码:
Option Explicit
Private Sub Command1_Click()
'rtx1.? App.Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
' Text1.Text=?
End If
End Sub
参考代码:
Option Explicit
Private Sub Commandl_Click()
rtx1.LoadFile App. Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
Text1.Text=Len(rtx1.Text)
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后先设置控件属性再编写事件过程
图像框的图片由Picture属性设置。判断鼠标左键还是右键可以通过图像框的MouseUp事件的Button参数来判断。
MouseUp事件再释放鼠标按钮时发生。其语法格式为:
PrivateSubobject_MouseUp([indexAsInteger]buttonAsIntegershiftAsIntegerxAsSingleyAsSingle)
Object一个对象表达式。
Index一个整数用来惟一地标识一个在控件数组中的控件。
Button返回一个整数用来标识该事件的产生是按下(MouseDown)或者释放(MouseUp)按钮引起的。button参数是具有相应于左按钮(位0)右按钮(位1)以及中间按钮(位2)的一个位字段。这些位的值分别等于12和4。其中仅有一位被设置指示出引起该事件的那个按钮Shift返回一个整数在button参数
指定的按钮被按下或者被释放的情况下该整数相应于SHIFTCTRL和ALT键的状态。某键被按下使得一个二进制位被设置。
shift参数是具有相应于SHIFT键(位0)CTRL键(位”以及ALT键(位2)最少二进制位的一个位字段。这些位的值分别等于12和4。shift参数指示这些键的状态。这些位中可能有一些、全部或者一个也没有被设置指示这些键中的一些、全部或者一个也没有被按下。解题步骤:
第一步:建立界面并设置控件属性。
第二步:编写程序代码。
程序提供的代码:
Private Sub Image1_MouseUp(Button As Integer Shift As Integer X As Single Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Imagel.Height=Imagel.Height+500
' Imagel.Width=Imagel.Width ? 500
End If
End If
'If Button=? Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
参考代码:
Private Sub Image1_MouseUp(Button As Integer Shift As Integer XAs Single Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Image1.Height=Image1.Height+500
Image1.Width=Image1.Width+500
End If
End If
If Button=2 Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
程序提供的代码:
Option Explicit
Private Sub Command1_Click()
'rtx1.? App.Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
' Text1.Text=?
End If
End Sub
参考代码:
Option Explicit
Private Sub Commandl_Click()
rtx1.LoadFile App. Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
Text1.Text=Len(rtx1.Text)
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后,先设置控件属性,再编写事件过程
图像框的图片由Picture属性设置。判断鼠标左键还是右键可以通过图像框的MouseUp事件的Button参数来判断。
MouseUp事件再释放鼠标按钮时发生。其语法格式为:
PrivateSubobject_MouseUp([indexAsInteger,]buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)
Object一个对象表达式。
Index一个整数,用来惟一地标识一个在控件数组中的控件。
Button返回一个整数,用来标识该事件的产生是按下(MouseDown)或者释放(MouseUp)按钮引起的。button参数是具有相应于左按钮(位0),右按钮(位1),以及中间按钮(位2)的一个位字段。这些位的值分别等于1,2,和4。其中仅有一位被设置,指示出引起该事件的那个按钮Shift返回一个整数,在button参数
指定的按钮被按下或者被释放的情况下,该整数相应于SHIFT,CTRL和ALT键的状态。某键被按下使得一个二进制位被设置。
shift参数是具有相应于SHIFT键(位0),CTRL键(位”,以及ALT键(位2)最少二进制位的一个位字段。这些位的值分别等于1,2,和4。shift参数指示这些键的状态。这些位中可能有一些、全部或者一个也没有被设置,指示这些键中的一些、全部或者一个也没有被按下。解题步骤:
第一步:建立界面并设置控件属性。
第二步:编写程序代码。
程序提供的代码:
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Imagel.Height=Imagel.Height+500
' Imagel.Width=Imagel.Width ? 500
End If
End If
'If Button=? Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
参考代码:
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, XAs Single, Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Image1.Height=Image1.Height+500
Image1.Width=Image1.Width+500
End If
End If
If Button=2 Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
第4题:
在名称为Form1的窗体上建立两个命令按钮,名称分别为Command1和Command2、标题分别为“显示”和“删除”,一个名称为Pic1的图片框。要求程序运行后,每单击一次“显示”按钮,不使用任何变量而直接在图片框中显示“Picture1”;如果单击“删除”按钮,则清除图片框中的文本,如图6-1所示。
注意:保存时必须存放在考生文件夹下,窗体文件名为sj1.frm,工程文件名为Sj1.vbp。
Private Sub Command2 Click 清除“Picture1”
Pic1.Cls
End Sub
单击
按钮运行程序,并按要求保存。
第5题:
在名为Form1的窗体上绘制一个名称为Pic1的图片框,并利用属性窗口把考生文件夹中的图标文件Open.ico放到图片框中;再绘制一个通用对话框控件,名为CD1,利用属性窗口设置相应属性,即打开对话框时:标题为“打开文件”,文件类型为“Word文档”,初始文件夹为C盘根文件夹。
编写适当的事件过程,使得在运行时,单击Pic1图片框,可以打开上述对话框。运行后的窗体如下图所示。

注意:
程序中不得使用任何变量;文件必须存放在考生文件夹中,工程文件名为 execise111.vbp,窗体文件名为execise111.fian。
