万能百科  > 计算机   > 

[问答题] 完成下列问题:在考生目录下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Label1的标签

2021-07-20   

[问答题] 完成下列问题:

在考生目录下有一个工程文件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)控制位置。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签