问答题 注意:下面出现的“考生文件夹”均为c:/wexam/25160001。
(1) 在考生文件夹下有工程文件sjt3.vbp及窗体文件sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体中有两个命令按钮,名称分别是C1和C2,标题分别是“修改窗体图标”和“修改窗体标题”。要求程序运行后,点击C1命令按钮,则将窗体标题栏中的图标换为图标文件1.ico(该文件在考生文件夹下);点击C2命令按钮,则将窗体标题修改为“窗体”。程序界面如图11-4和图11-5所示。

(2) 在考生文件夹下有工程文件sjt4.vbp及窗体文件sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
窗口中有一个名称为Picture1的图片框,一个名称为HScroll1的滚动条,3个命令按钮,名称分别为Command1,Command2和 Command3,标题分别为“运行”、“暂停”和“结束”,一个计时器控件,名称为Timer1。程序运行后,单击“运行”按钮后,使小球围绕大球转动,并可以使用滚动条调节转动的速度;单击“暂停”按钮后,暂停小球的转动;按“结束”按钮结束程序。程序运行界面如图11-6所示。
【正确答案】[解析] 在窗体上建立好控件后,先设置控件属性,再编写事件过程。
按钮控件的属性由Caption来设置,单击触发其Click事件。通过设置Icon属性修改窗体的图标,修改窗体的Caption属性设置其标题。在程序中使用LoadPicture函数给Icon属性赋值,其格式为:
LoadPicmre("文件名")
LoadPicture函数把图形文件装入窗体、图片框或图像框中。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表11-3。
               表 11-3
控 件
属 性
设 置 值
 按钮  Name
 Caption
 C1
 修改窗体图标
 按钮  Name
 Caption
 C2
 修改窗体标题
第二步:编写程序代码。
  程序提供的代码:
    Private Sub C1_Click()
      'Form1.Icon=LoadPicture("?")
    End Sub
    Private Sub C2_Click()
      'Form1.?="窗体"
    End Sub
  参考代码:
    Private Sub C1_Click()
      Form1.Icon=LoadPicture("1.ico")
    End Sub
    Private Sub C2_Click()
      Form1.Caption="窗体"
    End Sub
  第三步:调试并运行程序。
  第四步:按题目要求存盘。
  (2) [解析] 正面体上建立好控件后,先设置控件属性,再编写事件过程。
  计时器控件作用是以一定的时间间隔激发计时器事件(Timer)执行相应程序代码。当时计时器控件的Enabled属性为True时,计时器计时开始,当为False时计时器计时暂停,所以要使小球运动暂停可将Enabled属性值设置为False,要使小球运行,则设置该属性值为True。解题步骤:
  第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表11-4。
                                               表 11-4
控 件
属 性
设 置 值
 按钮  Name
 Caption
 Command1
 运行
 按钮  Name
 Caption
 Commang2
 暂停
 按钮  Name
 Caption
 Commang3
 结束
 滚动条  Name  HScroll1
 图片框  Name  Picture1
第二步:编写程序代码。
程序提供的代码:
Option Explicit
Dim c As Single,r As Single 'r小球到大球的球心的距离,C为小球的角度.
Dim x As Single,y As Single 'X,Y为小球移动时的圆心
Dim st As Single
Private SUb Command1_Click()
Timer1.Enabled=True
End Sub
Private Sub Command2_Click()
' ?
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
r=20
c=0
St=0.063
HScroll1.Min=1 '设置最小值
HScroll1.Max=100 '设置最大值
End SUb
Private Sub HScroll1_Change()
'Timer1.?=200-HScroll1.Value '根据滚动条的数值设置时间间隔,速度越快,间隔越小
End Sub
Private Sub Picturel_Paint()
PiCture1.FillColor=QBColor(12)
PiCture1.ForeColor=QBColor(12)
PiCture1.Circle (0,0) ,2
X=Cos(C) * r
y=Sin(C) * r
Picture1.FillColor=QBColor(14)
Picture1.ForeColor=QBColor(14)
'Picture1.? (x,y) ,0.5
c=c+st
If C>=2 * 3.14159 Then
c=c Mod (2 * 3.14159)
End If
End Sub
Private Sub Timer1_Timer()
' ? '重画图片框
End Sub
参考代码:
Option Explicit
Dim c As Single,r As Single 'r小球到大球的球心的距离,C为小球的角度.
Dim x As Single,y As Single 'X,Y为小球移动时的圆心
Dim st As Single
PriVate Sub Command1_Click()
Timer1.Enabled=True
End Sub
PriVate Sub Command2_Click()
Timer1.Enabled=False
End Sub
PriVate Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
r=20
c=0
st=0.063
HScroll1.Min=1 '设置最小值
HScroll1.Max=100 '设置最大值
End Sub
Private Sub HScroll1_Change()
Timer1.Interval=200-HScroll1.Vslue '根据滚动条的数值设置时间间隔,速度越快,间隔越小
End Sub
Private Sub Picture1_Paint()
Picture1.FillColor=QBColor(12)
Picture1.ForeColor=QBColor(12)
Picture1.Circle (0,0) ,2
X=Cos(C) * r
y=Sin(C) * r
Picture1.Fillcolor=QBColor(14)
Picture1.ForeColor=QBColor(14)
Picture1.Circle (x,y) ,0.5
c=c+st
If c>=2* 3.14159 Then
c=c Mod (2*3.14159)
End If
End Sub
Private Sub Timer1_Timer()
Picture1.RefreSh '重画图片框
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
【答案解析】