文档详情

C语言鼠标操作方法及源码.pdf

发布:2017-05-28约8.61千字共14页下载文档
文本预览下载声明
C 语言鼠标操作方法及源码(转载) 鼠标的操作是使用dos 中断功能,中断号:33h 下面给几个操作鼠标的示例,后面有更详细的中断功能说明及代码。 显示鼠标: union REGS regs; regs.x.ax=1; int86(0x33,regs,regs); 检查是否被按下: union REGS regs; regs.x.ax=6; int86(0x33,regs,regs); 返回值在bx寄存器中; 在实际编程中一般要使用循环不断的检验是否被按下! 检验鼠标位置:union REGS regs; regs.x.ax=3; int86(0x33,regs,regs); 返回值:x坐标在 regs.h.cx y坐标在 regs.h.dx /*下面是各值对鼠标的设置功能*/ (1)、功能00H 功能描述: 初始化鼠标,该操作只需要执行一次 入口参数: AX =00H 出口参数: AX =0000H——不支持鼠标功能,FFFFH——支持鼠标功能 BX=鼠标按钮个数(在支持鼠标功能时) 在支持鼠标功能的情况下,鼠标还被设置如下参数: 1、 鼠标指针放在屏幕中央 2、 如果当前鼠标指针是显示的,则操作后,鼠标指针被隐藏 3、 鼠标指针的显示页为0 4、 根据屏幕的显示模式显示鼠标指针:文本—反向显示矩形块,图形—尖头形状 5、 水平象素比=8:8 ,垂直象素比=16:8 6、 设置水平和垂直的显示边界为当前显示模式的最大边界 7、 允许光笔仿真 8、 双速门槛值=64 (2)、功能01H 功能描述: 显示鼠标指针,通常在鼠标初始化后,用此功能显示其指针 入口参数: AX =01H 出口参数: 无 (3)、功能02H 功能描述: 隐藏鼠标指针,一般在程序结束时,调用此功能 入口参数: AX =02H 出口参数: 无 (4)、功能03H 功能描述: 读取鼠标位置及其按钮状态 入口参数: AX =03H 出口参数: BX=按键状态: 位0=1——按下左键 位1=1——按下右键 位2=1——按下中键 其它位——保留,内部使用 CX=水平位置 DX=垂直位置 (5)、功能04H 功能描述: 设置鼠标指针位置 入口参数: AX =04H ,CX=水平位置,DX=垂直位置 出口参数: 无 (6)、功能05H 功能描述: 读取鼠标按键信息 入口参数: AX =05H ,BX=指定的按键:0—左键,1—右键,2—中键 出口参数: AX =按键状态,参见功能3H 中BX的说明 BX=按键次数 CX=水平位置(最后按键时) DX=垂直位置(最后按键时) (7)、功能06H 功能描述: 读取鼠标按钮释放信息 入口参数: AX =06H ,BX=指定的按键:0—左键,1—右键,2—中键 出口参数: AX =按键状态,参见功能3H 中BX的说明 BX=释放的次数 CX=水平位置(最后释放时) DX=垂直位置(最后释放时) (8)、功能07H 功能描述: 设置鼠标水平边界 入口参数: AX =07H CX=最小水平位置 DX=最大水平位置 出口参数: 无,鼠标有可能因新区域变小而自动移进新区域内 (9)、功能08H 功能描述: 设置鼠标垂直边界 入口参数: AX =08H CX=最小垂直位置 DX=最大垂直位置 出口参数: 无,鼠标有可能因新区域变小而自动移进新区域内 (10)、功能09H 功能描述: 设置图形鼠标形状 入口参数: AX =09H BX=指针的水平位置 CX=指针的垂直位置 ES:DX=16×16位光标的映象地址 参数说明: (BX,CX)是鼠标的指针在16×16点阵中 的位置,(0,0)是左上角; ES:DX指向的存储单元内存放 16×16点阵的位映象隐码,紧跟其后的是 16×16点阵的光 标掩码。 鼠标指针的显示方法: 位映象隐码“逻辑与”上屏幕显示区的内容,然后再用光标掩码内 容“异或”前面运算的结果。 出口参数: 无 (11)、功能0AH 功能描述: 设置本文鼠标形状 入口参数: AX =0AH BX=光标类型: 0 — CX和DX的各位含义如下: 位7~0 鼠标指针符号 位10~8 字符前景色 位11 亮度 位14~12 字符背景色 位15 闪烁 1 — CX=光标的起始扫描线 DX=光标的结束扫描线 出口参数: 无 (12)、功能0BH 功能描述: 读取鼠标移动计数 入口参数: AX
显示全部
相似文档