【发布时间】:2019-03-15 16:44:40
【问题描述】:
我想知道在某个像素范围内是否点击了鼠标的最简单方法是什么,即在图形模式下显示一个矩形按钮并确定用户是否点击了它。
谢谢!
【问题讨论】:
标签: assembly mouse x86-16 tasm dosbox
我想知道在某个像素范围内是否点击了鼠标的最简单方法是什么,即在图形模式下显示一个矩形按钮并确定用户是否点击了它。
谢谢!
【问题讨论】:
标签: assembly mouse x86-16 tasm dosbox
通知您鼠标被点击的相同鼠标驱动程序功能也告诉您当时鼠标在哪里。
下一个代码等待左键单击:
NoLeftClick:
mov ax, 0003h ; MOUSE.GetMousePosition
int 33h ; -> BX CX DX
test bx, 1 ; Is left button down?
jz NoLeftClick ; No
点击到达后,您开始将在 CX (X) 和 DX (Y) 中获得的坐标与您感兴趣的矩形坐标进行比较:
cmp cx, UpperLeftCornerX
jb Outside
cmp cx, LowerRightCornerX
ja Outside
cmp dx, UpperLeftCornerY
jb Outside
cmp dx, LowerRightCornerY
ja Outside
Inside:
...
Outside:
...
有关鼠标 api 的更多信息,请咨询http://stanislavs.org/helppc/int_33.html
【讨论】: