| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 864 人关注过本帖
标题:如何绘制鼠标
只看楼主 加入收藏
查无此人
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-5
收藏
 问题点数:0 回复次数:4 
如何绘制鼠标
引入鼠标后如何绘制鼠标?谢谢
搜索更多相关主题的帖子: 鼠标 绘制 
2006-07-09 13:09
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

/* ------------------------------鼠标初始化----------------------------- */
void initmouse()
{
_AX=0;
geninterrupt(0x33);
mathview();
}
/* --------------------------鼠标坐标状态获取--------------------------- */
void getmouse()
{
_AX=3;
geninterrupt(0x33);
ms=_BX;
mx=_CX;
my=_DX;

}
我是这么做的
但是有些人说这样不好
正在探讨中
但是至少能用!

2006-07-09 13:25
小滴答
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2005-11-19
收藏
得分:0 
以下是引用cdmalcl在2006-7-9 13:25:39的发言:

/* ------------------------------鼠标初始化----------------------------- */
void initmouse()
{
_AX=0;
geninterrupt(0x33);
mathview();
}
/* --------------------------鼠标坐标状态获取--------------------------- */
void getmouse()
{
_AX=3;
geninterrupt(0x33);
ms=_BX;
mx=_CX;
my=_DX;

}
我是这么做的
但是有些人说这样不好
正在探讨中
但是至少能用!

为什么我不能运行?出现这样的错误。。。undefined symbol 'ms'in function getmouse????????


2006-07-12 19:19
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
i like beauty girl

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-07-12 19:48
死循环
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-8-5
收藏
得分:0 

#include <stdlib.h>
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
#define TRUE 1
#define FALSE 0
#define LEFT 1
#define RIGHT 2
void InitGra(void);
void Cross(void);
void Quit(void);
int InitMouse(void);
void ShowMouse(void);
void HideMouse(void);
void ReadMouse(int *f,int *x,int *y);
void ErrMsg(void);

int main()
{
int Button,x,y;
InitGra();
ellipse(200,200,0,360,50,50);
if(!InitMouse())ErrMsg();
ShowMouse();
while(Button!=LEFT)
{
ReadMouse(&Button,&x,&y);
setbkcolor(BLUE);
Cross();
}
circle(x,y,10);
getch();
Quit();
return 0;
}
/*------------------------------------------------------*/
void InitGra()
{
int gd,gm;
gd=DETECT;
initgraph(&gd,&gm,"");
}
/*---------------------------------------------------*/
void Cross()
{
int aru[16],oldaru[16],i;
int Button,oldx,oldy;
int x,y,First=TRUE;
Button=oldx=oldy=0;
setwritemode(XOR_PUT);
HideMouse();
setcolor(15);
while(Button!=LEFT)
{

ReadMouse(&Button,&x,&y);
aru[0]=aru[14]=x;
aru[1]=aru[15]=y;
aru[2]=x+15;
aru[3]=y+10;
aru[4]=x+13;
aru[5]=y+11;
aru[6]=x+19;
aru[7]=y+17;
aru[8]=x+17;
aru[9]=y+19;
aru[10]=x+11;
aru[11]=y+13;
aru[12]=x+10;
aru[13]=y+15;
if(oldx!=x||oldy!=y)
{
if(!First)
{
drawpoly(8,oldaru);

}
drawpoly(8,aru);
oldx=x;
oldy=y;
for(i=0;i<16;i++)oldaru[i]=aru[i];
First=FALSE;
}
}
delay(300);
drawpoly(8,aru);
setwritemode(COPY_PUT);
}
/*----------------------------------------------*/
void Quit()
{
closegraph();
exit(0);
}
/*------------------------------------------------*/
int InitMouse()
{
union REGS Inr,Outr;
Inr.x.ax=0;
int86(0x33,&Inr,&Outr);
return Outr.x.ax;
}
/*-------------------------------------------------*/
void ShowMouse()
{
union REGS Inr,Outr;
Inr.x.ax=1;
int86(0x33,&Inr,&Outr);
}
/*--------------------------------------------------*/
void HideMouse()
{
union REGS Inr,Outr;
Inr.x.ax=2;
int86(0x33,&Inr,&Outr);
}
/*----------------------------------------*/
void ReadMouse(int *f,int *x,int *y)
{
union REGS Inr,Outr;
Inr.x.ax=3;
int86(0x33,&Inr,&Outr);
*f=Outr.x.bx;
*x=Outr.x.cx;
*y=Outr.x.dx;
}
/*----------------------------------*/
void ErrMsg()
{
printf("No Mouse Error");
getch();
Quit();
}

这样用也可




万事开头难
2006-08-13 02:54
快速回复:如何绘制鼠标
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049005 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved