📄 mouse.h
字号:
#include <conio.h>
#include <dos.h>
char InitMs()
{ /*鼠标复位*/
union REGS Inr, Outr;
Inr.x.ax=0;
int86(0x33,&Inr,&Outr);
if(Outr.x.ax==0) return 0;
else return 1;
}
void ShowMs()
{ /*显示鼠标光标*/
union REGS Inr, Outr;
Inr.x.ax=1;
int86(0x33,&Inr,&Inr);
}
void HideMs()
{ /*隐藏鼠标光标*/
union REGS Inr, Outr;
Inr.x.ax=2;
int86(0x33,&Inr,&Inr);
}
char LeftPrsd()
{ /*按鼠标左键*/
union REGS Inr, Outr;
Inr.x.ax=3;
int86(0x33,&Inr,&Outr);
return(Outr.x.bx&1);
}
char RightPrsd()
{ /*按鼠标右键*/
union REGS Inr, Outr;
Inr.x.ax=3;
int86(0x33,&Inr,&Outr);
return(Outr.x.bx&2);
}
void ReadMs(int *f, int *x, int y) /*f: 按键状态*/
{ /*读鼠标状态*/ /* LEFT: 1*/
union REGS Inr, Outr; /* RIGHT: 2*/
Inr.x.ax=3; /*x: 水平坐标*/
int86(0x33,&Inr,&Outr); /* y: 垂直坐标*/
*f=Outr.x.bx;
*x=Outr.x.cx;
*y=Outr.x.dx;
}
void SetMsXY(int x, int y)
{ /* 设置鼠标光标位置*/
union REGS Inr, Outr;
Inr.x.cx=x;
Inr.x.dx=y;
Inr.x.ax=4;
int86(0x33,&Inr,&Inr);
}
void SetMsArea(int Xmin, int Ymin, int Xmax, int Ymax)
{ /*设置鼠标移动范围*/
union REGS Inr, Outr;
Inr.x.ax=7;
Inr.x.cx=Xmin;
Inr.x.dx=Xmax;
int86(0x33,&Inr,&Inr);
Inr.x.ax=8;
Inr.x.cx=Ymin;
Inr.x.dx=Ymax;
int86(0x33,&Inr,&Inr);
}
void MsHideArea(int x1, int y1, int x2, int y2)
{ /*设置隐藏鼠标区域*/
union REGS Inr, Outr;
Inr.x.cx=x1;
Inr.x.dx=y1;
Inr.x.si=x2;
Inr.x.di=y2;
Inr.x.ax=0x10;
int86(0x33,&Inr,&Inr);
}
int MsInBox(int x1, int y1, int x2, int y2, int x, int y)
{ /*判断鼠标是否在某一矩形区域内*/
return((x>=x1&&x<=x2&&y>=y1&&y<=y2)? 1 : 0 );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -