| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1251 人关注过本帖
标题:C编程如何引入鼠标
只看楼主 加入收藏
查无此人
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-5
收藏
 问题点数:0 回复次数:8 
C编程如何引入鼠标

只要求左右键单激时,能把当前屏幕坐标植赋给一变量就可以
谢谢

搜索更多相关主题的帖子: 鼠标 变量 屏幕 单激时 坐标 
2006-07-06 19:03
witchery
Rank: 1
来 自:西安
等 级:新手上路
帖 子:205
专家分:0
注 册:2005-8-6
收藏
得分:0 

你看看这段程序就知道了
用int86中断
#include <DOS.H>
#include<graphics.h>
#include<stdlib.h>
main()
{
union REGS r;
int dr=DETECT,mode=0;
int x,y,c,color=15;
initgraph(&dr,&mode,"");
r.x.ax=0;
int86(0X33,&r,&r);
r.x.ax=1;
int86(0x33,&r,&r);
while(!kbhit())
{
r.x.ax=3;
int86(0x33,&r,&r);
x=r.x.cx;
y=r.x.dx;
c=r.x.bx;

if(c==2)
{
color=random(16);
setcolor(color);
setfillstyle(1,color);
}

if(c==1)
{
r.x.ax=2;
int86(0x33,&r,&r);
fillellipse(x,y,2,2);
r.x.ax=1;
int86(0x33,&r,&r);
}


}


}
这段代码我是在baidu贴吧上找的

2006-07-06 22:29
查无此人
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-5
收藏
得分:0 
非常感谢
2006-07-07 21:26
小滴答
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2005-11-19
收藏
得分:0 

if(c==1)
{
r.x.ax=2;
int86(0x33,&r,&r);
fillellipse(x,y,2,2);
r.x.ax=1;
int86(0x33,&r,&r);
最后一段少了个fillellipse(x,y,1,1);是吗?没这个运行不了哦~~~


2006-07-12 15:53
小滴答
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2005-11-19
收藏
得分:0 
我有个问题~~~这个代码实现的是单击左键在座标上涂一个颜色,右键换颜色啊。。。和LZ的要求不符合。。。。我学C不久大家别见笑哦。。。。。。。。。。。。。。。。。。。

2006-07-12 16:00
hehefeng
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-7-12
收藏
得分:0 
QIANG!!1
2006-07-12 16:29
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

给你现做一个
你看看是不是这种:
#include <dos.h>
#include <graphics.h>

void init();
void initmouse();
void getmouse();

int ms,mx,my;

main()
{
init();

while(1)
{
getmouse();
if(ms)
{
gotoxy(1,1);
printf("x=%3d,y=%3d ",mx,my);
}
if(kbhit())exit(0);
}

}

/* -------------------------图形 鼠标初始化----------------------------- */
void init()
{
int gd,gm;

gd=DETECT;
initgraph(&gd,&gm,"");

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

这个比较好理解!

2006-07-12 17:57
hulipingo
Rank: 1
等 级:新手上路
帖 子:27
专家分:1
注 册:2010-12-13
收藏
得分:0 
谢了,可以直接在TC上编译出来,就是看不见鼠标的位置啊……谢了
2011-05-29 16:18
不忘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-18
收藏
得分:0 
同求解释呀!看鼠标怎么可以显示呀!我虽然做了一个鼠标图形,但是那个图形根本响应鼠标呀
2012-07-19 11:08
快速回复:C编程如何引入鼠标
数据加载中...
 
   



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

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