C言语图形方式编程,特征鼠标(5)
2011-03-07 18:39
316 查看
{ /* 读取鼠标及键盘外形*/
int but_old=*buttons;
int x_old=*px,y_old=*py;
do{ /* 或 return getch(); 前往ASCII码值*/
if(kbhit()) return bioskey(0);/* 如有键清点击前往键值*/
regs.x.ax=3;
int86(0x33,®s,®s);
*px=regs.x.cx; /* x坐标*/
*py=regs.x.dx; /* y坐标*/
*buttons=regs.x.bx; /* 前往鼠标击键外形:
0未点击 1点击左键
2点击右键 3点击双键*/
}while(*px==x_old&&*py==y_old&&*buttons==but_old);
MouseOff(x_old,y_old);/* 原地位异或消去擦除,并答复*/
but_old=*buttons;
x_old=*px;
y_old=*py;
MouseOn(*px,*py); /* 新地位显现*/
return -1;
}
int MouseInbox(int x1,int y1,int x2,int y2,int x,int y)
{
return((x>=x1&&x<=x2&&y>=y1&&y<=y2)?1:0); /* 若在预定地区就前往 1 */
}
int MouseInit()
{ /* 初始化鼠标*/
int recored;
MouseMath(); /* 初始化时先竞赛争论*/
regs.x.ax=0;
int86(0x33,®s,®s);/* 调用中缀检测*/
recored=regs.x.ax;
if(recored==0)
{ printf("Mouse not found !\n");
getch();return 0;
}
regs.x.ax = 1; /* 显现鼠标*/
int86(0x33,®s,®s);
return recored;
}
void main()
{
int msx,msy,msz,order;
int gmode=0,gdriver=DETECT;/* 和gdriver = VGA,gmode = VGAHI是十分效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不用要.BGI文件的支撑运转 */
initgraph(&gmode,&gdriver,"");
if(graphresult())
{
printf ("Graphics isn't available...");
getch();exit(1);
}
MouseInit();/* 初始化*/
setcolor(1);
rectangle(140,80,500,110);
setfillstyle(8,2);
floodfill(150,100,1);setcolor(15);
outtextxy(182,85,"Move to me to change mouse's shape");
outtextxy(180,100,"Click me to quit ... QQ: 527274766");
for(;;)
{
order=MouseRead(&msx,&msy,&msz);
if(order==283) break;
if( MouseInbox(140,80,500,110,msx,msy))
{ /* 变化鼠标外形*/
if(Mousekind!=1 0*2 9*4 15*64)
{
MouseOff(msx,msy);/* 擦除*/
Mousekind=1 0*2 9*4 15*64;/* 变化*/
MouseMath();/* 从头竞赛争论鼠标外形*/
}
if(msz==1) { closegraph();exit(0);}
}
else
{ /* 答复鼠标外形*/
if(Mousekind!=0 1*2 15*4 2*64)
{
MouseOff(msx,msy);
Mousekind=0 1*2 15*4 2*64;
MouseMath();
}
}
}
}
版权声明:
原创作品,允许转载,转载时请务必以超链接方式标明文章 原始来因 、作者信息和本声明。不然将穷究法令责任。
int but_old=*buttons;
int x_old=*px,y_old=*py;
do{ /* 或 return getch(); 前往ASCII码值*/
if(kbhit()) return bioskey(0);/* 如有键清点击前往键值*/
regs.x.ax=3;
int86(0x33,®s,®s);
*px=regs.x.cx; /* x坐标*/
*py=regs.x.dx; /* y坐标*/
*buttons=regs.x.bx; /* 前往鼠标击键外形:
0未点击 1点击左键
2点击右键 3点击双键*/
}while(*px==x_old&&*py==y_old&&*buttons==but_old);
MouseOff(x_old,y_old);/* 原地位异或消去擦除,并答复*/
but_old=*buttons;
x_old=*px;
y_old=*py;
MouseOn(*px,*py); /* 新地位显现*/
return -1;
}
int MouseInbox(int x1,int y1,int x2,int y2,int x,int y)
{
return((x>=x1&&x<=x2&&y>=y1&&y<=y2)?1:0); /* 若在预定地区就前往 1 */
}
int MouseInit()
{ /* 初始化鼠标*/
int recored;
MouseMath(); /* 初始化时先竞赛争论*/
regs.x.ax=0;
int86(0x33,®s,®s);/* 调用中缀检测*/
recored=regs.x.ax;
if(recored==0)
{ printf("Mouse not found !\n");
getch();return 0;
}
regs.x.ax = 1; /* 显现鼠标*/
int86(0x33,®s,®s);
return recored;
}
void main()
{
int msx,msy,msz,order;
int gmode=0,gdriver=DETECT;/* 和gdriver = VGA,gmode = VGAHI是十分效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不用要.BGI文件的支撑运转 */
initgraph(&gmode,&gdriver,"");
if(graphresult())
{
printf ("Graphics isn't available...");
getch();exit(1);
}
MouseInit();/* 初始化*/
setcolor(1);
rectangle(140,80,500,110);
setfillstyle(8,2);
floodfill(150,100,1);setcolor(15);
outtextxy(182,85,"Move to me to change mouse's shape");
outtextxy(180,100,"Click me to quit ... QQ: 527274766");
for(;;)
{
order=MouseRead(&msx,&msy,&msz);
if(order==283) break;
if( MouseInbox(140,80,500,110,msx,msy))
{ /* 变化鼠标外形*/
if(Mousekind!=1 0*2 9*4 15*64)
{
MouseOff(msx,msy);/* 擦除*/
Mousekind=1 0*2 9*4 15*64;/* 变化*/
MouseMath();/* 从头竞赛争论鼠标外形*/
}
if(msz==1) { closegraph();exit(0);}
}
else
{ /* 答复鼠标外形*/
if(Mousekind!=0 1*2 15*4 2*64)
{
MouseOff(msx,msy);
Mousekind=0 1*2 15*4 2*64;
MouseMath();
}
}
}
}
版权声明:
原创作品,允许转载,转载时请务必以超链接方式标明文章 原始来因 、作者信息和本声明。不然将穷究法令责任。
相关文章推荐
- C言语图形情势编程,赋性鼠标(4)
- C言语图形情势编程,特性鼠标(3)
- C言语图形形式编程,赋性鼠标(2)
- C言语图形体例编程,天分鼠标(1)
- C图形方式下的编程
- VC编程技术点滴(四)鼠标绘制任意图形
- C语言控制台窗口图形界面编程(八):鼠标事件
- TC图形编程-鼠标放大镜[HungryAnt制作][原创]
- C语言图形模式编程,个性鼠标
- C语言图形模式编程,个性鼠标。
- 技术积累应用-可视化编程平台应用方式-统计图形控制
- GEF,DRAW2D,在子图形上点击鼠标左键,让父图形被选中的实现方式
- C语言图形模式编程之个性鼠标(引擎)
- python 元类型编程, 单例模式SingleTon的一种实现方式
- 通过编程来让企业服务以服务程序方式运行
- native方式获取android4.0鼠标指针速度
- c++以代理的方式来实现接口化编程
- 模型驱动开发,传统编程方式的终结?
- ubuntu屏幕截图工具:scrot,可截鼠标拖曳的矩形区域图形
- 把NLTK中提取的unigram 特征转换成0,1向量表示方式