[问答题] 完成下列问题:在考生目录下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Label1的标签
[问答题] 完成下列问题:
在考生目录下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Label1的标签,和其他一些控件(如图3所示)。在运行时,若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置(如图4所示);若用鼠标右键单击圆的边线,则指针恢复到起始位置(如图3所示);若鼠标左键和右键单击其他位置,则在标签上显示“鼠标位置不对”。
文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,在程序中的横线处填写正确的内容。程序中函数oncircle()的作用是判断鼠标单击位置是否在圆的边线上(判断结果略有误差),“是”则返回True,“否”则返回False。符号常量x0、y0是圆心距窗体左上角的距离;符号常量radius是圆的半径。
注意:不能修改程序中的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。
[题目提供的源程序]
Const y0&=1110, x0&=1100, radius&=750
Private Function oncircle(X As Single, Y As Single) As Boolean
precision=55000
If Abs((X-x0)*(X-x0)+(y0-Y)*(y0-Y)-radius*radius)<precision Then
oncircle=True
Else
oncircle=False
End If
End Function
Private Sub Form_MouseDown(But
正确答案:[操作步骤] 第1步:打开工程文件sjt3.vbp。 第2步:修改源程序。 第3步:调试、运行并保存程序。 [1]Y [2]X1 [3]radius [4]Label1
参考解析:在Form_MouseDown事件过程中,先用函数oncircle()来判断鼠标单击的位置(X,Y)是否在圆的边界上:若鼠标单击的位置不在边界上,则在标签上显示“鼠标位置不对”,所以[4]处应填Label1或Label1.Caption;若鼠标单击的位置在边界上,再根据单击的是鼠标左键还是右键来决定直线的显示位置。直线Line1由它的端点坐标(X1,Y1)和(X2,Y2)控制位置。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
