在vb程序中,如果绘制了一条直线,怎样让这条直线通过控制上下左右键来移动,
展开全部
你用Line控件在窗体上绘制一条直线,然后复制下面的代码到代码窗口:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
With Line1
Select Case KeyCode
Case vbKeyUp
.Y1 = .Y1 - 60
.Y2 = .Y2 - 60
Case vbKeyDown
.Y1 = .Y1 + 60
.Y2 = .Y2 + 60
Case vbKeyLeft
.X1 = .X1 - 60
.X2 = .X2 - 60
Case vbKeyRight
.X1 = .X1 + 60
.X2 = .X2 + 60
End Select
End With
End Sub
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
如果是用Line命令实时画出来的直线,也可以实现移动的,原理差不多,就是先清屏,然后根据方向键移动几个像素的位置后重新画,或者不清屏,用底色擦除原直线后挪个位置重新画。但是这种方法移动过程中会出现闪烁现象,所以不推荐。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
With Line1
Select Case KeyCode
Case vbKeyUp
.Y1 = .Y1 - 60
.Y2 = .Y2 - 60
Case vbKeyDown
.Y1 = .Y1 + 60
.Y2 = .Y2 + 60
Case vbKeyLeft
.X1 = .X1 - 60
.X2 = .X2 - 60
Case vbKeyRight
.X1 = .X1 + 60
.X2 = .X2 + 60
End Select
End With
End Sub
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
如果是用Line命令实时画出来的直线,也可以实现移动的,原理差不多,就是先清屏,然后根据方向键移动几个像素的位置后重新画,或者不清屏,用底色擦除原直线后挪个位置重新画。但是这种方法移动过程中会出现闪烁现象,所以不推荐。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询