我有这个菜单:
data segment
menu db "Please select a choice:"
db "1. J",13,10
db "2. C",13,10
db "3. G",13,10
db "4. T" ,13,10
db "5. C",13,10
db "6. E",13,10,'$
ends
我希望用户能够用鼠标点击这些选项(1-6)中的一个。例如,我用鼠标点击“1.J”,点击后要求输入。
我在用鼠标点击的部分卡住了。
我想不出一个方法来组织这个推理。
1条答案
按热度按时间nfg76nw01#
我一直在做类似的事情,我的想法是这样的:因为每个菜单选项都有四个字符(不算换行符),你可以画一个假想的长方形(实际上不需要在屏幕上绘制此矩形),宽4个字符,高6个字符,使用一组相对于打印菜单位置的坐标,然后读取鼠标信息,查看以下情况是否正确:
作为一个例子,这里有一个想法,你可能会弄清楚,如果鼠标光标是在矩形:
有几种不同的方法来读取鼠标,最简单的方法是阅读当前按钮状态,但如果(例如)用户在不在菜单上时点击并按住鼠标按钮,然后将其拖到菜单上,则可能会导致逻辑错误。这可能并不总是所需的行为。int 33h与
ah = 05h
可能会帮助您解决此问题。