在窗体上画一个名称为Coramandl的命令按钮,然后编写如下程序;
Dim SW As Boolean
Function func(X As Integer)As Integer
If X<20 Then
Y=X
Else
Y=20+X
End If
func=Y
End Function
Private Sub Form_MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Dim a As Boolean
SW=False
End Sub
Private Sub Form_MouseUp(Button As Integer,
Shift As Integer, X As Single, Y As Single)
SW=True
End Sub
Private Sub Command1_Click()
Dim intNum As Integer
intNum=InputBox("")
If SW Then
Print flmc(intNum)
End If
End Sub
程序运行后,单击命令按钮,将显示一个输入对话框,如果在对话框中输入25,则程序的执行结果为
A.输出0
B.输出2
C.输出45
D.无任何输出
参考答案:D
解析:
[分析]: 上述程序由一个通用过程和3个事件过程组成,在命令按钮事件过程中调用通用过程,并把一个参数传送给通用过程。这里要注意,只有在一定的条件下,才能调用通用过程,这个条件就是,窗体层的Boolean变量SW的值必须为True,否则不能调用。而为了使SW的值为True,必须执行Form_MouseUp事件过程,这只能通过单击窗体来实现。单击窗体时,单击鼠标左键执行Form_MouseDown事件过程,使得SW=False。松开鼠标后执行Form_MouseUp事件过程,使得SW=True。程序运行后,由于没有执行Form_MouseUp事件过程,直接单击命令按钮,因而SW的值为False,这样不会调用通用过程,也就不会输出任何信息。