VB 求一个按键的模块,上左下左上右下右的

来源:百度知道 编辑:UC知道 时间:2024/09/22 07:42:15
能支持上左下左上右下右的移动
另外需要在一个键被松开以后还能继续执行按住了的那个键
比如按下上左,就像上左方向移动,当我送开上的时候,能再继续像左移动
麻烦了,不知道该怎么编写
麻烦连题目都看不懂的朋友请不要回答问题
浪费你时间也浪费我时间

'自动移动,遇到边界会停下,能控制方向的圆球
'需控件:Shape1、Timer1
'在属性窗口将窗体的 KeyPreview 属性设置为 True
Dim ctTo As Long
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp: ctTo = 0
Case vbKeyDown: ctTo = 1
Case vbKeyLeft: ctTo = 2
Case vbKeyRight: ctTo = 3
End Select
End Sub

Private Sub Form_Load()
Shape1.Shape = 3: Shape1.FillColor = 255: Shape1.FillStyle = 0
Shape1.Width = Shape1.Height: Me.KeyPreview = True
Timer1.Enabled = True: Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
Dim nTo As Single, X As Single, Y As Single

nTo = Shape1.Width * 0.25
X = Shape1.Left: Y = Shape1.Top
Select Case ctTo
Case 0: Y = Y - nTo
Case 1: Y = Y + nTo
Case 2: X = X - nTo
Case 3: X = X + nTo
End Select
If X < 0 Then X = 0
If X > Me.ScaleWidth - Shape1.Width Then X = Me.ScaleWidth - Shape1.Width