关键词搜索

源码搜索 ×
×

VB鼠标事件详解-《来抓我》游戏

发布2021-01-29浏览2277次

详情内容

“ 本节课程一起学习VB中常用的鼠标事件”

VB是一种可视化编程语言,UI设计非常的方便。其用户交互中最为重要的方式是鼠标,此前我们介绍过鼠标的单击事件。那么本节课程我们一起来详细的学习鼠标的各种事件。

鼠标常用事件包括:
Click、DblClick、MouseMove、MouseDown、MouseUp。

01

鼠标事件的含义

鼠标事件是指,用户使用鼠标发生的某个动作时触发的相应的事件。

有时候一个动作会触发多个事件。

例如:

鼠标单击时,不仅会触发Click事件,还会引发 MouseDown、MouseUp事件。

鼠标事件及动作对应关系如下:

Click 鼠标单击
DblClick 鼠标双击
MouseMove 鼠标移动
MouseDown 鼠标按下
MouseUp 鼠标抬起

鼠标事件过程的建立:

在代码区域,首先选中一个控件,然后选中想要的事件类型,然后系统便会自动为我们创建一个事件过程的代码框架了。我们只需要在其中编写相应的代码即可。

在这里插入图片描述

02

鼠标事件发生的顺序

单击鼠标时:
会依次发生MouseDown、MouseUp、Click事件

双击鼠标时:
会依次发生MouseDown、MouseUp、Click、DblClick、MouseUp事件

简单做一个程序验证一下,如下:
首先绘制一个界面,一个窗体、一个标签控件、一个按钮。

图片

然后编写代码,如下:

Private Sub Command1_Click()  
  Me.Cls
End Sub
Private Sub Label1_Click()    
  Print "click"
End Sub
Private Sub Label1_DblClick()    
  Print "Dbclick"
End Sub
Private Sub Label1_MouseDown(Button  _
As Integer, Shift As Integer, X As Single, Y As Single)    
  Print "MouseDown"
End Sub
Private Sub Label1_MouseUp(Button  _
As Integer, Shift As Integer, X As Single, Y As Single)    
  Print "MouseUp"
End Sub

    最后,运行程序,测试下单击和双击文本框的效果。

    单击标签
    在这里插入图片描述

    双击标签
    在这里插入图片描述

    03

    鼠标事件的参数

    以按钮的鼠标按下事件为例,其事件过程如下:
    Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

    其中有4个参数,它们的含义分别为:
    Button:
    该参数用来区别用户是通过鼠标的左键、右键或中键中的哪一个按下的。Button=1时,是鼠标左键;Button=2时,是鼠标右键;Button=4时,是鼠标中键。
    Shift:
    该参数用于判断用户在单击鼠标的同时是否按下了功能按键,功能键为Shift、Ctrl、Alt,当按下Shift键时,Shift=1,当按下Ctrl键时,Shift=2,当按下Alt键时,Shift=4。如果用户同时按下其中多个功能键,则Shift参数值等于它们对应的值之和。例如按下Shift和Ctrl按键时,Shift参数值为3。
    X:
    当前鼠标的坐标x
    Y:
    当前鼠标的坐标y

    举例:

    图片

    代码如下:

    Private Sub Command1_MouseDown(Button  _
    As Integer, Shift As Integer, X As Single, Y As Single)    
      If Button = 1 Then Print "按了左键"    
      If Button = 2 Then Print "按了右键"    
      If Button = 4 Then Print "按了中键"    
      Print "Shift值:" & Shift    
      Print "鼠标位置:" & X & " " & Y    
      Print
    End Sub
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    04

    实例操作

    需求:
    设计一个贱贱的《来抓我》游戏,游戏界面中只有两个按钮,玩家目标是用鼠标点击到按钮则算胜利。当然,游戏可不会这么简单,因为当鼠标移动到按钮时,按钮的位置就会改变,所以能不能点到鼠标就看你的毅力和运气啦。

    界面设计:

    图片

    代码设计:

    Private Sub Command1_Click()    
      MsgBox "你真厉害"
    End Sub
    Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)    
      Command1.Left = Rnd * (Me.Width - Command1.Width)    
      Command1.Top = Rnd * (Me.Height - Command1.Height)
    End Sub
    Private Sub Command2_Click()    
      MsgBox "你真厉害"
    End Sub
    Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)    
      Command2.Left = Rnd * (Me.Width - Command2.Width)    
      Command2.Top = Rnd * (Me.Height - Command2.Height)
    End Sub
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    相关技术文章

    最新源码

    下载排行榜

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载