注意:下面出现的“考生文件夹”均为c:\wexam\25160001。 在考生文件夹下有工程文件sjt5.vbp及窗体文件sjt5.frm,该程序是不完整的,请在有号的地方填入正确内容,然后删除及所有注释符(即’号),但不能修改其他部分。存盘时不得改变文件名和文件夹。如图17-5所示。 在名称为Form1,标题为“分苹果”的窗体上,有名称为Frame1,标题为“分苹果大赛”的一个Frame控件。其中包括4个Picture控件、4个Labe1控件和4个 Command控件。具体如下: PicSmile(0)~(1)为Tom和Marry的笑脸图案,PicCry(0)~(1)为哭脸图案;PicSmile(0)和PicCry(0)重叠,PicSmile(1)和 PicCry(1)重叠。按Command1(0)和Command1(1)时,Labe1(0)和labe1(1)减少。当Labe1(0)或Labe1(1)的值为零时,相对应的 Command按钮失效(变灰);按Command2(0)和Command1(1)时,Labe1(0)和Labe1(1)增加。程序启动时两人均为笑脸。两人当中所分苹果比较多的呈现笑脸,另一个是哭脸;如果两人的苹果一样多,则两人都为笑脸。
参考答案:
解析: 在窗体上建立好控件后,先设置控件属性,再编写事件过程。
控件数组是由一组相同类型的控件组成,建立控件数组时系统给每个元素赋一个惟一的索引号(Index),控件数组 cmdName(3)表示控件数组名为cmdName的第4个元素;利用其下标号可选择不同的控件数组元素,如:控件是否可用由其Enabled属性决定,当该属性值为True时可用,为False时不可用(灰色);控件是否可见由其Visible属性决定,该值为 True时,控件可见,为False时控件不可见。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表17-5。
表 17-5
对 象 | 下 标 | 属 性 | 设 置 值 |
Form1 | —— | Caption | 分苹果 |
Fram1 | —— | Caption | 分苹果大赛 |
Picture | PicSmile(0) | Name Picture Aotusize | PicSmile true |
PicSmile(1) | Name Picture Aotusize | PicSmile True | |
Picture | PicCry(0) | Name Picture Aotusize | PicSmile True |
PicCry(1) | Name Picture Aotusize | PicSmile true | |
Label | —— | Name Caption | Label Tom White |
Label | —— | Name Caption | Label Marry Smith |
Label | Label(0) | Name Caption | Label1 0 |
Label(1) | Name Caption | Label1 0 | |
Command 控件 | Command1(0) | Name Caption | Command1 减一个 |
Command1(1) | Name Caption | Command1 减一个 | |
Command 控件 | Command2(0) | Name Caption | Command2 加一个 |
Command2(1) | Name Caption | Command2 加一个 |
程序提供的代码:
Option Explicit
Private Sub Command1_Click(Index As Integer)
If Index=0 Then
If Val(Label3(0) .Caption)>1 Then
Command1 (0) .Enabled=True
Label3(0) .Caption=Labe13(0) .Caption-1
Else
If Val(Label3(0) .Caption)=1 Then
Labe13(0) .Caption=Labe13(0) .Caption-1
End If
’Command1(0) .Enabled=
End If
Else
If Val(Label3(1) .Caption)>1 Then
Command1 (1) .Enabled=True
Label3(1) .Caption=Label3(1) .Caption-1
Else
If Val(Label3(1) .Caption)=1 Then
Label3(1) .Caption=Label3(1) .Caption-1
End If
Commandl(1) .Enabled=False
End If
End If
’If Val(Label3(0) .Caption) Val(Label3(1) .Caption) Then
picSmile(0) .Visible=True
picCry(0) .Visible=False
picCry(1) .Visible=True
picSmile(1) .Visible=False
Else
’If Val(Label3(0) .Caption) Val(Label3(1) .Caption) Then
picCry(0) .Visible=True
picSmile(0) .Visible=False
picSmile(1) .Visible=True
picCry(1) .Visible= False
Else
picSmile(0) .Visible=True
picCry(0) .Visible=False
picSmile(1) .Visible=True
picCry(1) .Visible=False
End If
End If
End Sub
Private Sub Command2_Click(Index As Integer)
If Index=0 Then
’Label3(0) .Caption=
Command1 (0) .Enabled=True
Else:
’Label3(1) .Caption=
Command1 (1) .Enabled=True
End If
’If Val(Label3(0) .Caption) Val(Label3(1) .Caption) Then
picSmile(0) .Visible=True
picCry(0) .Visible=False
picCry(1) .Visible=True
picSmile(1) .Visible=False
Else
’If Val(Label3(0) .Caption) Val(Label3(1) .Caption) Then
picCry(0) .Visible=True
picSmile(0) .Visible=False
picSmile(1) .Visible=True
picCry(1) .Visible=False
Else
picSmile(0) .Visible=True
picCry(0) .Visible=False
picSmile(1) .Visible=True
picCry(1) .Visible=False
End If
End If
End Sub
Private Sub Form_Load ()
PicSmile(0) .Visible=True
picSmile(1) .Visible=True
Command1(0) .Enabled=False
Command1(1) .Enabled=False
End Sub
参考代码:
Option Explicit
Private Sub Command1_Click(Index As Integer)
If Index=0 Then
If Val(Label3(0) .Caption)>1 Then
Command1 (0) .Enabled=True
Label3(0) .Caption=Label3(0) .Caption-1
Else
If Val(Label3(0) .Caption)=1 Then
Label3(0) .Caption=Label3(0) .Caption-1
End If
Command1(0) .Enabled=False
End If
Else
If Val(Label3(1) .Caption)>1 Then
Command1(1) .Enabled=True
Label3(1) .Caption=Label3(1) .Caption-1
Else
If Val(Label3(1) .Caption)=1 Then
Label3(1) .Caption=Label3(1) .Caption-1
End If
Command1(1) .Enabled=False
End If
End If
If Val(Label3(0) .Caption)>Val(Label3(1) .Caption) Then
picSmile(0) .Visible=True
picCry(0) .Visible=False
picCry(1) .Visible=True
picSmile(1) .Visible=False
Else
If Val(Label3(0) .Caption)<Val(Label3(1) .Caption) Then
picCry(0) .Visible=True
picSmile(0) .Visible=False
picSmile(1) .Visible=True
picCry(1) .Visible=False
Else
picSmile(0) .Visible=True
picCry(0) .Visible=False
picSmile(1) .Visible=True
picCry(1) .Visible=False
End If
End If
End Sub
Private Sub Command2_Click(Index As Integer)
If Index=0 Then
Label3(0) .Caption=Label3(0) .Caption+1
Command1 (0) .Enabled=True
Else:
Label3(1) .Caption=Label3(1) .Caption+1
Commandl (1) .Enabled=True
End If
If Val(Label3(0) .Caption) > Val(Label3(1) .Caption) Then
picSmile(0) .Visible = True
picCry(0) .Visible = False
picCry(1) .Visible = True
picSmile(1) .Visible = False
Else
If Val(Label3(0) .Caption)<Val(Label3(1).Caption) Then
picCry(0) .Visible=True
picSmile(0) .Visible=False
picSmiie(1) .Visible=True
picCry(1) .Visible=False
Else
picSmile(0) .Visible=True
picCry(0) .Visible=False
picSmile(1) .Visible=True
picCry(1) .Visible=False
End If
End If
End Sub
Private Sub Form_Load()
picSmile(0) .Visible=True
picSmile(1) .Visible=True
Command1(0) .Enabled=False
Command1(1) .Enabled=False
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。