【问题标题】:Assembly-TASM: on-screen button in graphic modeAssembly-TASM:图形模式下的屏幕按钮
【发布时间】:2019-03-15 16:44:40
【问题描述】:

我想知道在某个像素范围内是否点击了鼠标的最简单方法是什么,即在图形模式下显示一个矩形按钮并确定用户是否点击了它。

谢谢!

【问题讨论】:

    标签: assembly mouse x86-16 tasm dosbox


    【解决方案1】:

    通知您鼠标被点击的相同鼠标驱动程序功能也告诉您当时鼠标在哪里。

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多