鼠标操作源代码.docx

上传人:b****5 文档编号:7685302 上传时间:2023-01-25 格式:DOCX 页数:5 大小:15.77KB
下载 相关 举报
鼠标操作源代码.docx_第1页
第1页 / 共5页
鼠标操作源代码.docx_第2页
第2页 / 共5页
鼠标操作源代码.docx_第3页
第3页 / 共5页
鼠标操作源代码.docx_第4页
第4页 / 共5页
鼠标操作源代码.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

鼠标操作源代码.docx

《鼠标操作源代码.docx》由会员分享,可在线阅读,更多相关《鼠标操作源代码.docx(5页珍藏版)》请在冰豆网上搜索。

鼠标操作源代码.docx

鼠标操作源代码

C语言鼠标操作方法及源码(转载)

 (2009-08-1214:

05:

40)

转载

标签:

 

杂谈

分类:

 网摘

2008-05-0400:

54

 

 

 

#include

#include

#include

#include

#include

#include

#defineWAITING0xff00

#defineLEFTPRESS0xff01

#defineLEFTCLICK0xff10

#defineLEFTDRAG0xff19

#defineRIGHTPRESS0xff02

#defineRIGHTCLICK0xff20

#defineRIGHTDRAG0xff2a

#defineMIDDLEPRESS0xff04

#defineMIDDLECLICK0xff40

#defineMIDDLEDRAG0xff4c

#defineMOUSEMOVE0xff08

inthide[16][16],bury[16][16],mousedraw[16][16],pixelsave[16][16];

intmousebutton,mouseexist,mouseX,mouseY;

voidmousepicture()

{

   inti,j,k;

   longhidenum[16]={

   0xe3c7,0xc183,0x8001,0x0000,

   0x0000,0x0000,0x0000,0x8001,

   0x8001,0xc003,0xe007,0xf00f,

   0xf81f,0xfc3f,0xfe7f,0xffff,

};

longburynum[16]={

0x1c38,0x3e7c,0x7ffe,0xffff,

0xffff,0xffff,0xffff,0x7ffe,

0x3ffe,0x3ffc,0x1ff8,0x0ff0,

0x07e0,0x03c0,0x0180,0x0000,

};

for(i=0;i<16;i++)

{

   while(hidenum[i]!

=0)

   {

     for(j=15;j>=0;j--)

     {

        hide[i][j]=hidenum[i]%2;

        hidenum[i]/=2;

     }

   }

   while(burynum[i]!

=0)

   {

     for(k=15;k>=0;k--)

     {

        bury[i][j]=burynum[i]%2;

        burynum[i]/=2;

     }

   }

   for(k=0;k<16;k++)

   {

     if(hide[i][k]==0&&bury[i][k]==0)

       mousedraw[i][k]=1;

     elseif(hide[i][k]==0&&bury[i][k]==1)

       mousedraw[i][k]=2;

     elseif(hide[i][k]==1&&bury[i][k]==0)

       mousedraw[i][k]=3;

     else

       mousedraw[i][k]=4;

    }

}

}

voidmouseon(intx,inty)

{

inti,j;

for(i=0;i<16;i++)

{

for(j=0;j<16;j++)

{

pixelsave[i][j]=getpixel(x+j,y+i);

if(mousedraw[i][j]==1)

putpixel(x+j,y+i,6);

if(mousedraw[i][j]==2)

putpixel(x+j,y+i,6);

}

}

}

voidmouseoff()

{

inti,j,x,y,color;

x=mouseX;

y=mouseY;

for(i=0;i<16;i++)

{

for(j=0;j<16;j++)

{

if((mousedraw[i][j]==3)||(mousedraw[i][j]==4))

continue;

putpixel(x+j,y+i,BLACK);

putpixel(x+j,y+i,pixelsave[i][j]);

}

}

}

voidmouseload()

{

_AX=0x00;

geninterrupt(0x33);

mouseexist=_AX;

mousebutton=_BX;

}

voidmousereset()

{

_AX=0x00;

geninterrupt(0x33);

}

 

voidmousesetX(intlx,intrx)

{

_CX=lx;

_DX=rx;

_AX=0x07;

geninterrupt(0x33);

}

voidmousesetY(intuy,intdy)

{

_CX=uy;

_DX=dy;

_AX=0x08;

geninterrupt(0x33);

}

voidmousesetXY(intx,inty)

{

_CX=x;

_DX=y;

_AX=0x04;

geninterrupt(0x33);

}

voidmousespeed(intvx,intvy)

{

_CX=vx;

_DX=vy;

_AX=0x0f;

geninterrupt(0x33);

}

intleftpress()

{

_AX=0x03;

geninterrupt(0x33);

return(_BX&1);

}

intmiddlepress()

{

_AX=0x03;

geninterrupt(0x33);

return(_BX&4);

}

intrightpress()

{

_AX=0x03;

geninterrupt(0x33);

return(_BX&2);

}

voidmousegetXY()

{

_AX=0x03;

geninterrupt(0x33);

mouseX=_CX;

mouseY=_DX;

}

intmousemove()

{

inti,j,x,y,color,move,press=0;

x=mouseX;

y=mouseY;

move=0;

if(mouseX!

=x||mouseY!

=y)

{

move=1;

mouseon(mouseX,mouseY);

}

return1;

}

voidmain()

{

intgdrive=DETECT,gmode;

initgraph(&gdrive,&gmode,"");

mousepicture();

outtextxy(200,150,"Mouse");

mousesetY(0,getmaxy());

mousesetX(0,getmaxx());

mousesetXY(100,100);

while(!

kbhit())

{

if(mousemove())

{

mouseoff();

mousegetXY();

mouseon(mouseX,mouseY);

}

}

closegraph();

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1