Assembly-TASM:图形模式下的屏幕按钮

问题描述 投票:1回答:1

我想知道什么是最简单的方法来知道鼠标是否在某个像素范围之间被点击,即在图形模式下显示矩形按钮并找出用户是否点击它。

谢谢!

assembly mouse x86-16 tasm dosbox
1个回答
2
投票

相同的鼠标驱动程序功能可以通知您有关鼠标的信息,还可以告诉您当时鼠标的位置。

下一个代码等待左键单击:

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

© www.soinside.com 2019 - 2024. All rights reserved.