C语言程序设计课程大型作业文档.pptVIP

  • 2
  • 0
  • 约5.84千字
  • 约 59页
  • 2018-02-27 发布于湖北
  • 举报
C语言程序设计课程大型作业文档

---------------------------------------------------------- * 鼠标的初始化 InitMouse() { union REGS regs; regs.x.ax=0; int86(0x33,regs,regs); if(regs.x.ax==0) return false; else return true;} ---------------------------------------------------------- * 鼠标光标的隐藏 HideCur() { union REGS regs; if(visual){ regs.x.ax=2; int86(0x33,regs,regs); visual=false; }} ---------------------------------------------------------- * 鼠标光标的显示 ShowCur() { union REGS regs; if(!visual){ regs.x.ax=1; int86(0x33,regs,regs); visual=true; }} ---------------------------------------------------------- * 鼠标光标的显示与隐藏 在鼠标驱动程序中,鼠标的显示状态用0值表示,隐藏用负值表示,每调用一次显示功能则该值加一,每调用一次隐藏功能,则该值减一。这样,在多次调用了驱动程序的隐藏鼠标光标功能后,再调用显示鼠标光标功能时,将不能正常显示鼠标光标。需要加入一个visual布尔型变量,来取代驱动程序中的数值。 ---------------------------------------------------------- * 读取鼠标的状态 Status( ) { union REGS regs; regs.x.ax=3; int86(0x33,regs,regs); x=regs.x.cx; y=regs.x.dx; status=regs.x.bx; } ---------------------------------------------------------- * 读取鼠标的状态 其中X,Y为光标位置 status1左键状态,1为按下,0为未按 status2右键状态,1为按下,0为未按 status4中键状态,1为按下,0为未按 要注意循环检测时的抖动现象,可增加一些空循环或延时来清除剩余的按键信号。 ---------------------------------------------------------- * 设置光标位置 void MoveMouse(int x,int y) { REGS regs; regs.x.ax=4; regs.x.cx=x; regs.x.dx=y; int86(0x33,regs,regs); } ---------------------------------------------------------- * 设置鼠标光标形状 设置鼠标光标需要三个方面信息: 鼠标的外边界:8*8点阵,16个整数 鼠标的内部形状:8*8点阵,16个整数 以及鼠标的热点的相对坐标:int x,y 其中外边界和内边界连续存放,为长度为32的整型数组 int marks[32] ---------------------------------------------------------- * 设置鼠标光标形状 SetCurs(unsigned masks[32],x,y) { union REGS regs; struct SREGS sregs; regs.x.ax=9; regs.x.bx=x; regs.x.cx=y;/* hot spot*/ regs.x.dx=(unsigned)masks; segread(sregs); int86(0x33,regs,regs); } ---------------------------------------------------------- * 手的光标数据 {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, /*cursor mask*/ 0x0c00, 0x

文档评论(0)

1亿VIP精品文档

相关文档