c语言鼠标的操作函数集

c语言鼠标的操作函数集

ID:10005289

大小:40.00 KB

页数:4页

时间:2018-05-20

c语言鼠标的操作函数集_第1页
c语言鼠标的操作函数集_第2页
c语言鼠标的操作函数集_第3页
c语言鼠标的操作函数集_第4页
资源描述:

《c语言鼠标的操作函数集》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言的鼠标操作函数集#include#include#include#includeunionREGSregs;intX__max,Y__max,x_max,y_max;voidInitgr(void)/*屏幕初始化成图形模式*/{intw,h,grdriver=DETECT,grmode;registerbgidriver(EGAVGA_driver);initgraph(&grdriver,&grmode,"");/*在双引号中可加你tc放的路径,但要在tc里有EGA

2、VGA.BGI这个来初始图形*/if(graphresult())/*若调用不成功,退出*/{printf("调用失败!");exit(1);}X__max=getmaxx();/*求横向象点坐标数*/Y__max=getmaxy();/*求纵向象点坐标数*/getaspectratio(&w,&h);/*求纵横比*/x_max=1000;/*设置屏幕坐标的宽度*/y_max=x_max*(float)Y__max*h/((float)X__max*w);}intMsinit(intXlo,intXhi,intYlo,intYhi)/*鼠

3、标初始化*/{intretcode;regs.x.ax=0;/*初始化鼠标*/int86(0x33,®s,®s);retcode=regs.x.ax;if(retcode==0)return0;regs.x.ax=7;/*设置鼠标X方向的移动范围*/regs.x.cx=Xlo;regs.x.dx=Xhi;int86(0x33,®s,®s);regs.x.ax=8;/*设置鼠标Y方向的移动范围*/regs.x.cx=Ylo;regs.x.dx=Yhi;int86(0x33,®s,®s);regs.x.ax=15;/*设置mickey与象素的比,这各

4、会影响鼠标移动速度*/regs.x.cx=(int)(x_max/X__max);regs.x.dx=(int)(y_max/Y__max);int86(0x33,®s,®s);returnretcode;}intMsread(int*px,int*py,int*pbuttons)/*读鼠标位置及状态*/{staticintx0=320,y0=240,but0=0;intxnew,ynew,ch;do{if(kbhit()){ch=getch();if(ch==13){*pbuttons=1;return-1;}elsereturnch;/*返回

5、键盘输入*/}regs.x.ax=3;/*调用功能3,读鼠标位置及状态*/int86(0x33,®s,®s);xnew=regs.x.cx;/*返回鼠标当前的位置的X坐标*/ynew=regs.x.dx;/*返回鼠标当前的位置的Y坐标*/*pbuttons=regs.x.bx;/*返回鼠标当前的状态*/}while(xnew==x0&&ynew==y0&&*pbuttons==but0);/*当鼠标状态改变或位置改变终止循环*/but0=*pbuttons;/*将鼠标状态保存到静态变量中*/x0=xnew;y0=ynew;/*将鼠标位置保存到静态

6、变量中*/*px=xnew;*py=(int)(y_max-ynew);return-1;}intXpixel(intx)/*由象素坐标变换为屏幕坐标*/{return(int)((long)X__max*x/x_max);}intYpixel(inty){returnY__max-(int)((long)Y__max*y/y_max);}voidCursor(intx,inty)/*显示十字光标*/{intX=Xpixel(x),Y=Ypixel(y),color;char*str="";line(X-8,Y,X-3,Y);line(X,Y

7、-8,X,Y-4);line(X+3,Y,X+8,Y);line(X,Y+4,X,Y+8);color=getcolor();setcolor(BLACK);outtextxy(X__max-100,10,str);/*删除前次显示值*/sprintf(str,"%d,%d",x,y);setcolor(WHITE);outtextxy(X__max-100,10,str);/*在屏幕右上角显示当前光标的坐标*/setcolor(color);}Voidmain(){intbuttons,X,Y,x,y,a,b;chari;Initgr();/*

8、初始化图形屏幕*/setcolor(EGA_LIGHTRED);/*设置屏幕前景色*/line(1,1,X__max-1,1);/*在屏

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。