首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在考生文件夹下有一个工程文件sjt5.vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件。但程序不完整。 要求:请去掉程序
在考生文件夹下有一个工程文件sjt5.vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件。但程序不完整。 要求:请去掉程序
admin
2018-06-29
53
问题
在考生文件夹下有一个工程文件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 As Single,y As Single) Dim x0 As Integer r y0 As Integer, a As Single,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—y 0)/(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 EndIf EndIf Timer1.Enabled=True’单击鼠标左键则触发Timer事件 Else Timer1.Enabled=False’单击鼠标右键则停止Timer事件 End If End Sub Private Sub Timerl_Timer() Shape1.Move Shape1.Left+stepx,Shape1.Top+stepy’移动shape1 End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
解析
通过鼠标左键单击位置的坐标及圆心的坐标确定一条直线,并沿着这条直线移动,通过计算这条直线的斜率,得知水平位移和竖直位移,再通过形状控件的Move方法、Left和Top属性实现形状控件位置的移动。
sgn(x)函数返回x的正负号,如果x为正数,返回1;如果为负数,返回一1;如果为0,则返回0。
转载请注明原文地址:https://www.kaotiyun.com/show/rdGp777K
本试题收录于:
二级VB题库NCRE全国计算机二级分类
0
二级VB
NCRE全国计算机二级
相关试题推荐
窗体上有一个名称为Labell的标签、一个名称为Timerl的计时器,其Enabled和Interval属性分别为True和1000。编写如下程序:DimnAsIntegerPrivateSubTimerl_Timer()
(1)在名称为Forml,标题为“测试”的窗体上添加一个名称为Framel、标题为“字体”的框架。在框架内再添加两个名称分别为Optl和Opt2、标题分别为“隶书”和“宋体”的单选按钮。程序运行后的窗体如图所示。注意:存盘时必须存放在考生文件夹下,
要求当鼠标在图片框P1中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是()。
在窗体上画两个标签和一个命令按钮,其名称分别为Labell、Label2和Commandl,然后编写如下程序:PrivateSubfunc(LAsLabel)L.Caption=“1234”EndSubPr
以下关于菜单的叙述中,错误的是()。
执行以下程序段a$="VisualBasicProgramming":b$="C++"c$=UCase(Left$(a$,7))&b$&RightS(a$,12)变量c$的值为
表达式12/2\4的值是( )。
下列运算符中,优先级最高的是
随机试题
Hisfirstnovelwasafailure,______.
院内获得性肺炎:
胃的容受性舒张是通过下列哪一种途径实现的
下列哪种说法是正确的
男,60岁。突然出现右侧肢体无力及不能讲话,体检:失语。右侧偏瘫,右侧感觉减退,右侧偏盲。临床诊断为脑血栓形成。闭塞的血管是
李某应以何机关为被告提起诉讼:若人民法院经审理后认为市公安局的复议决定错误的改变了原具体行政行为,遂判决撤销原复议决定,并责令其重新作出。以下说法正确的是:
背景资料:某高校新建宿舍楼工程,地下一层,地上五层,钢筋混凝土框架结构。采用悬臂式钻孔灌注桩排桩作为基坑支护结构,施工总承包单位按规定在土方开挖过程中实施桩顶位移监测,并设定了监测预警值。施工过程中,发生了下列事件:事件一:项目经理安排安全员制作了安全
价差交易是指从不同的两个期货合约彼此间相对的价格差异获取利润的交易行为,价差交易一般可分为()。Ⅰ跨期价差交易Ⅱ跨市价差交易Ⅲ跨商品价差交易Ⅳ跨地域价差交易
按决策问题的风险特性不同,决策可以分为()。[2007年真题]
A、Gotosleep.B、Gotoaparty.C、Stayhome.D、Seeamovie.C信息明示题。本题考查对多个细节的辨认,题目问的是:男士今晚想做什么?所以与女士所说的话无关。从男士说话内容可明确知道:他今晚不想出去,
最新回复
(
0
)