Skip to content
This repository has been archived by the owner on Jun 22, 2022. It is now read-only.

09.鼠标检测

[email protected] edited this page May 4, 2020 · 3 revisions

鼠标检测

鼠标检测用于判断鼠标在某个矩形区域内的状态。
Emerald提供的鼠标检测有两种方法。
一种为CheckMouse,另一种为CheckMouse2
比较常用的为CheckMouse2

CheckMouse2 函数

CheckMouse2函数位于GCore模块中。
CheckMouse2用于检测鼠标在上一个绘制矩形内的状态,因此,该函数不需要任何参数。
返回值类型:MButtonState
例子:

    Page.Paint 0,0,100,100,argb(255,0,176,240)
    If CheckMouse2 = mMouseUp Then
        Msgbox "该矩形被单击。"
    End If

NOTE:
如果上一次绘图是 文字绘制 ,并且你使用了自动文本宽度,那么由于绘制矩形的宽度和高度为0,该方法将会失效。
该函数也适用于GUI

CheckMouse 函数

CheckMouse函数位于GCore模块中。 CheckMouse用于检测鼠标在指定矩形内的状态。
返回值类型:MButtonState

参数名 类型 说明
x Long 矩形的X坐标
y Long 矩形的y坐标
w Long 矩形的宽度
h Long 矩形的高度

MButtonState 枚举

名称 说明
mMouseOut 0 鼠标在指定矩形外
mMouseIn 1 鼠标在指定矩形内,但是没有点击操作。
mMouseDown 2 鼠标在指定矩形内,并且鼠标处于按下状态。
mMouseUp 3 鼠标在指定矩形内,并且鼠标处于抬起状态。

Mouse

Mouse的类型为MState,用于反馈鼠标的状态,位于GCore中。
你可以使用Mouse进一步判断按下的按键是否为左键或右键。

成员 类型 说明
state Integer 鼠标按下状态,0=无操作,1=按下,2=抬起
button Integer 鼠标按下的按键,0=没有按下,1=鼠标左键,2=鼠标右键,4=鼠标中键。
x Single 鼠标在应用窗口上的x坐标
y Single 鼠标在应用窗口上的y坐标