?? mouse.cpp
字號:
#include "dos.h"
#include "stdio.h"
#include "struct.h"
int x,y;
unsigned int f;
int InitMouse(void)
{
union REGS Inr,Outr;
struct SREGS segregs;
Inr.x.ax = 0;
int86x(0x33,&Inr,&Outr,&segregs);
if(Outr.x.ax==0)
{
printf("Mouse Init Error1");
return -1;
}
return 0;
}
void ShowMouse(void)
{
union REGS Inr,Outr;
struct SREGS segregs;
Inr.x.ax = 1;
int86x(0x33,&Inr,&Outr,&segregs);
}
void HideMouse(void)
{
union REGS Inr,Outr;
struct SREGS segregs;
Inr.x.ax = 2;
int86x(0x33,&Inr,&Outr,&segregs);
}
int ReadMouse(void)
{
static int Oldf=0;
union REGS Inr,Outr;
struct SREGS segregs;
int m;
Inr.x.ax = 3;
int86x(0x33,&Inr,&Outr,&segregs);
f=Outr.x.bx;
m=Oldf^f;
if(m&0x01)
{
if(f&0x01)
{
f=0xffff;
}
}
Oldf=Outr.x.bx;
/* f=0;
if((Outr.x.bx&0X01)==1)
{
f=0xff;
if(FreeFlag==1)
{
f=1;
FreeFlag=0;
}
}
else
{
f=Outr.x.bx;
FreeFlag=1;
}*/
x = Outr.x.cx;
y = Outr.x.dx;
return f;
}
int ReturnButton(BUTTON *button,int num)
{
int i,x1,y1,height,lengh;
ShowMouse();
if (f == 0xffff)
{
for(i=0;i<num;i++)
{
if(button[i].EnableFlag==1)
{
x1=button[i].x;
y1=button[i].y;
height=button[i].height;
lengh=button[i].lengh;
if((x>=x1-0.5*lengh)&&(x<=x1+0.5*lengh)&&(y>=y1-0.5*height)&&(y<=y1+0.5*height))
{
return(i);
}
}
}
}
return(-1);
}
int ReturnItem(ITEMBUTTON *button,int num)
{
int i,x1,y1,height,lengh;
ShowMouse();
if (f == 0xffff)
{
for(i=0;i<num;i++)
{
if(button[i].EnableFlag==1)
{
x1=button[i].x;
y1=button[i].y;
height=button[i].height;
lengh=button[i].lengh;
if((x>=x1-0.5*lengh)&&(x<=x1+0.5*lengh)&&(y>=y1-0.5*height)&&(y<=y1+0.5*height))
{
return(i);
}
}
}
}
return(-1);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -