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

📄 in.c

📁 eCGUI 驱动构造例子 只要驱动例子能运行
💻 C
字号:
#ifndef _GUI_LOW_IN_C
#define _GUI_LOW_IN_C

#include <dos.h> 
#include <bios.h>
char dj_left=0,dj_middel=0,dj_right=0;
int dj_o_key=0,dj_o_mk=0;

void dj_mRead(int *x,int *y,int *key)
{

union REGS r;

r.x.ax=0x03;
int86(0x33,&r,&r);
*x=r.x.cx;
*y=r.x.dx;
*key=r.x.bx;

}

void dj_kRead(int * k,int * s)
{
if(bioskey(1))
	{
	*k=bioskey(0);
	*s=1;
	}
else 
	{
	*k = 0;
	*s=0;
	}
}

void dj_event()
{
	int x,y,key=0;
	MESSAGE msg={0,GM_MOUSE,0,0,0,0};
   
	dj_mRead(&x,&y,&key);

    msg.icode=x;
	msg.jcode=y;
/* ------------------------------------ */

	if(x!=cur_dx->mx||y!=cur_dx->my)
	{
    
	    
		msg.message=GM_MouseMove;
		
		AddEvent(&msg);
		if(key) 
		{
			if(key&1)
			msg.message=GM_LeftDownMove;
			if(key&2)
			msg.message=GM_RightDownMove;
			AddEvent(&msg);
		}	 
		return;
	}

/* ----------------------------------- */
 if(key&&!dj_o_mk)
 {
  if(key&1)
  	msg.message=GM_LeftDown;
  if(key&2) 
	msg.message=GM_RightDown;
  AddEvent(&msg);
  dj_o_mk=key;
  return;
 }
 
 if(!key&&dj_o_mk)
 {
  if(cur_dx->mk&1)
	msg.message=GM_LeftUp;
  if(cur_dx->mk&2)
	 msg.message=GM_RightUp;
 AddEvent(&msg);
 dj_o_mk=key;
 return;
 }
 cur_dx->mk=key;
/* ================================== */
dj_kRead(&key,&x);
if(x==1)
	{
	msg.type = GM_KEY;
	msg.message = GM_KeyDown;
	msg.icode = (char)key;
	msg.jcode= key/256;
	msg.pData=(void*)bioskey(2);
	AddEvent(&msg);
	dj_o_key=key;
	}
if(x==0 && dj_o_key)
	{
    msg.type = GM_KEY;
	msg.message = GM_KeyUp;
	msg.icode =(char) dj_o_key;
	msg.jcode= dj_o_key/256;
	AddEvent(&msg);
	dj_o_key=0;
	}

}

#endif /* _GUI_LOW_IN_C */

⌨️ 快捷键说明

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