在考生文件夹下有一个工程文件sjt5.vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释

admin2019-05-14  30

问题 在考生文件夹下有一个工程文件sjt5.vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。
要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。

选项

答案[操作步骤] 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考代码(画下划线部分是需填入的内容) Dim stepy As Integer ’纵向移动增量 Dim stepx As Integer ’横向移动增量 Const LEFT_BUTTON=1 Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X AsSingle,y As Single) Dim x0 As Integer,y0 As Integer,a AsSingle,radius As_Integer radius=Shape1.Width/2 ’圆的半径 If Button=LEFT_BUTTON Then ’单击鼠标左键移动 x0=Shape1.Left+radius’圆心的x坐标 y0=Shape1.Top+radius’圆心的y坐标 If x=x0 Then’垂直移动 stepy=Sgn(y-y0)*50 stepx=0 Else’倾斜移动 a=(y-y0)/(x-x0)’斜率 stepx=Sgn(x-x0)*50 stepy=a*stepx ’通过stepx确定stepy的值 If Abs(stepy)>Abs(stepx)Then stepy=Sgn(y-y0)*50 stepx=Stepy/a End If End If Timer1.Enabled=True’单击鼠标左键则触发Timer事件 Else Timer1.Enabled=False’单击鼠标右键则停止Timer事件 End If End Sub Private Sub Timer1_Timer() Shape1.Move Shape1.Left+stepx,Shape1.Top+stepy’移动shapel End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析
转载请注明原文地址:https://jikaoti.com/ti/RNN0FFFM
0

相关试题推荐
最新回复(0)