问答题 注意:下面出现的“考生文件夹”均为c:/wexam/25160001。
(1) 在考生文件夹下有工程文件sjt3.vbp及窗体文件sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。如图14-3所示。
本题描述如下:在名称为Form1,标题为“调用系统对话框”的窗体上有一个文本框和六个命令按钮及一个通用对话框,通过CommonDialog实现对系统一些对话框的调用。请将“打开”按钮的功能补充完整,并限制打开的类型为可执行文件(*.com和*.exe),默认打开文件类型为.exe文件。
(2) 在考生文件夹下有工程文件jft4.vbp及窗体文件jft4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:在窗体上有一个名为P1的图片框,有一个名为C1,标题为“输入参数”的命令按钮,有两个单选按钮,名称分别是Op1和Op2,标题分别是“画圆环”和“画方框”。要求程序运行后,选中两个单选按钮中的一个,再点击命令按钮C1,在弹出的输入对话框中输入相应的参数值,则在图片框上画出相应的图形。程序运行界面如图14-4所示。
【正确答案】[解析] 文本框中显示的文本由Text属性设置;命令按钮的标题由Caption属性设置,单击命令按钮触发Click事件。通用对话框是一种ActiveX控件,通常情况下,启动Visual Basic后,在工具箱里没有通用对话框控件,用户必须手动将它添加到工具箱里才可以使用:限制打开对话框的文件类型应对Filter属性进行设置。
可以通过下列步骤将通用对话框控件添加到工具箱中:
① 执行“工程”菜单中的“部件”命令,打开“部件”对话框;
② 在对话框中选择“控件”选项卡,然后在控件列表框中选择“Microsoft Common Dialog Control 6.0”;
③ 单击“确定”按钮,通用对话框即被添加到工具箱中。解题步骤:
第一步:编写程序代码。
程序提供的代码:
Option Explicit
Private Sub Commandl_Click()
Dim i As Integer
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.Action=5
For i=1 To CommonDialog1.Copies
PrintForm
Next i
Cancel:
End Sub
Private Sub Command2_Click()
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.HelpCommand=&HB
CommonDialog1.HelpFile="C:/windows/help/windows.hlp"
CommonDialog1.Action=6
Cancel:
End Sub
Private Sub Command3_Click()
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.Action=3
Text1.ForeColor=CommonDialog1.Color
Cancel:
End Sub
Private Sub Command4_Click()
CommonDialog1.Flags=&H3& Or &H1& Or &H2&
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.Action=4
Text1.FontBold=CommonDialog1.FontBold
Text1.FontItalic=CommonDialog1.FontItalic
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.FontName=CommonDialog1.FontName
Text1.FontSize=CommonDialog1.FontSize
Cancel:
End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub Command6_Click()
CommonDialog1.CancelError=True
On Error GoTo Cancel
'CommonDialog1.Filter="(可执行文件*.exe) *.exe|?| (可执行文件*.com) *.com|?"
'CommonDialog1.FilterIndex=?
'CommonDialog1.Action=?
'Shell CommonDialog1.filename, ?
Cancel:
End Sub
参考代码:
Option Explicit
Private Sub Command1_Click()
Dim i As Integer
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.Action=5
For i=1 To CommonDialog1.Copies
PrintForm
Next i
Cancel:
End Sub
Private Sub Command2_Click()
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialogl.HelpCommand=&HB
CommonDialogl.HelpFile="C:/windows/help/windows.hlp"
CommonDialogl.Action=6
Cancel:
End Sub
Private Sub Command3_Click()
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.Action=3
Text1.ForeColor=CommonDialog1.Color
Cancel:
End Sub
Private Sub Command4_Click()
CommonDialog1.Flags=&H3& Or &H1& Or &H2&
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.Action=4
Text1.FontBold=CommonDialog1.FontBold
Text1.FontItalic=CommonDialog1.FontItalic
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.FontName=CommonDialog1.FontName
Text1.FontSize=CommonDialog1.FontSize
Cancel:
End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub Command6_Click()
CommonDialog1.CancelError=True
On Error GoTo Cancel
CommonDialog1.Filter=_
"(可执行文件*.exe) *.exe|*.exe| (可执行文件*.com) *.com|*.com"
CommonDialog1.FilterIndex=0
CommonDialog1.Action=1
Shell CommonDialog1.FileName,1
Cancel:
End Sub
第二步:调试并运行程序。
第三步:按题目要求存盘。
(2) [解析] 程序中用到了Circle方法、Line方法和InputBox函数。
Circle方法在对象上画圆、椭圆或弧。
语法:Object.Circle[Step](x,y),radius,[color,start,end,aspect]
Line方法在对象上画直线和矩形。
语法:object.Line[Step](x1,1)[Step](x2,y2),[color,[B][F]
InputBox函数在一个对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的String。
语法:InputBox(prompt[,title][default][,xpos][,ypos][,helpfile,context])解题步骤:
第一步:编写程序代码。
程序提供的代码:
Private Sub C1_Click()
Dim a As Single
Dim b As Single
Dim t As Single
On Error Resume Next
If Op1.Value=True Then
a=InputBox ("输入圆环的内径(输入值必须大于0且小于800) ", _
"输入参数",100)
b=InputBox ("输入圆环的外径(输入值必须大于0且小于900) ", _
"输入参数",200)
If a>b Then
' t=?
a=b
b=t
End If
P1.Cls
'P1.FillStyle=?
P1.FillColor=vbBlack
'Pi.Circle (1500,1000), ?
P1.FillColor=vbButtonFace
P1.Circle (1500,1000), a
End If
If Op2.Value=True Then
a=InputBox ("输入方框的长度(输入值必须大于0且小于3000) ", _
"输入参数",100)
b=InputBox("输入方框的宽度(输入值必须大大于0且小于1800) ", _
"输入参数",200)
P1.Cls
'P1.Line (100, 100)-(100+a, 100+b) , , ?F
End If
End Sub
参考代码:
Private Sub C1_Click()
Dim a As Single
Dim b As Single
Dim t As Single
On Error Resume Next
If Op1.Value=True Then
a=InputBox ("输入圆环的内径(输入值必须大于0且小于800) ", _
"输入参数",100)
b=InputBox ("输入圆环的外径(输入值必须大于0且小于900) ", _
"输入参数",200)
If a>b Then
t=a
a=b
b=t
End If
P1.Cls
P1.FillStyle=0
P1.FillColor=vbBlack
P1.Circle (1500, 1000) , b
P1.FillColor=vbButtonFace
Pi.Circle (1500, 1000) , a
End If
If Op2.Value=True Then
a=InputBox ("输入方框的长度(输入值必须大于0且小于3000) ", _
"输入参数",100)
b=InputBox ("输入方框的宽度(输入值必须大于0且小于1800) ", _
"输入参数", 200)
P1.Cls
P1.Line (100, 100)-(100+a, 100+b) , , BF
End If
End Sub
第二步:调试并运行程序。
第三步:按题目要求存盘。
【答案解析】