⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mouse.c

📁 用c语言编写的控制鼠标的支持源程序 如果包含在你的图形程序中
💻 C
字号:
#ifndef XCGMOUSEH

#define XCGMOUSEH
#include<dos.h>
#include<stdio.h>
#include"myerro.c"
static struct MOUSE
{
   unsigned int  left;
   unsigned int  right;
   unsigned int  x;
   unsigned int  y;
}xcgmouse={0,0,0,0};

void mouse_init(void)
{
   union REGS regs;
   regs.x.ax=0;
   int86(0x33,&regs,&regs);
   if(regs.x.ax!=0);
   else{ xcgerrono=1; exit(1); }
}

void mouse_show(void)
{
   union REGS regs;
   regs.x.ax=1;
   int86(0x33,&regs,&regs);
}

void mouse_hide(void)
{
   union REGS regs;
   regs.x.ax=2;
   int86(0x33,&regs,&regs);
}

void mouse_state(void)
{
   union REGS regs;
   regs.x.ax=3;
   int86(0x33,&regs,&regs);
   xcgmouse.left=regs.x.bx & 1;
   xcgmouse.right=regs.x.bx & 2;
   xcgmouse.x=regs.x.cx;
   xcgmouse.y=regs.x.dx;
}

void setmouseshape(int far *p,int hotx,int hoty)
{
   union REGS regs;
   struct SREGS sregs;
   regs.x.ax=9; regs.x.bx=hotx;  regs.x.cx=hoty;
   regs.x.dx=FP_OFF(p); sregs.es=FP_SEG(p);
   int86x(0x33,&regs,&regs,&sregs);
}

int mouse_inwindow(unsigned int x0,unsigned int y0,\
		   unsigned int x1,unsigned int y1)
{
   if(xcgmouse.x>x0 && xcgmouse.x<x1 && xcgmouse.y>y0 && xcgmouse.y<y1)
   return(1);
   else return(0);
}

int getmouseleft(void)
{
   return(xcgmouse.left);
}

int getmouseright(void)
{
   return(xcgmouse.right);
}

unsigned int getmousex(void)
{
   return(xcgmouse.x);
}

unsigned int getmousey(void)
{
   return(xcgmouse.y);
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -