在QUICK BASIC中使用鼠标
用bx设置鼠标按键号,返回鼠标按键捕获信息;
用cx、dx,返回鼠标水平坐标与垂直坐标信息。
一、鼠标使用前的实始化:调用中断(INTERRUPT)33H中功能0,如果鼠标已被安装,ax返回-1,否则返回0。
例:'$INCLUDE:'QB.BI' '引用包含文件
DIM Regs AS RegType '定义寄存器
Regs.ax=0 '设置功能号
INTERRUPT &H33,Regs,Regs '调用中断
IF Regs.ax=-1 THEN
... '操作序列
END IF
二、鼠标显示功能:调用中断(INTERRUPT)33H中功能1。
例:'$INCLUDE:'QB.BI' '引用包含文件
DIM Regs AS RegType '定义寄存器
Regs.ax=1 '设置功能号
INTERRUPT &H33,Regs,Regs '调用中断
... '操作序列
三、鼠标水平坐标与垂直坐标信息获取:调用中断(INTERRUPT)33H中功能3得到cx、dx返回值。
例:'$INCLUDE:'QB.BI' '引用包含文件
DIM Regs AS RegType '定义寄存器
... '初始化
Regs.ax=3 '设置功能号
INTERRUPT &H33,Regs,Regs '调用中断
col=Regs.cx:row=Regs.dx '获取水平坐标与垂直坐标
... '操作序列
四、鼠标按键捕获:调用中断(INTERRUPT)33H中功能6,左键、中键、右键对应的按键号0、1、2,当键按下时返回值为1,否则为0。
例:'$INCLUDE:'QB.BI' '引用包含文件
... '初始化
DIM Regs AS RegType '定义寄存器
Regs.ax=6 '设置功能号
Regs.bx=0 '定义左键号
INTERRUPT &H33,Regs,Regs '调用中断
IF Regs.bx THEN
... '操作序列
END IF
应用以上四个技术可以使鼠标在程序中发挥很大的作用。