C语言 利用ACLLib来鼠标画图

C语言 利用ACLLib来鼠标画图


移动鼠标时,event=5
按下鼠标时,event=0
松开鼠标按键时,event=2

代码

#include <stdio.h>
#include "acllib.h"

void mouseListener(int x,int y,int button,int event){
	//event的变化是不管是按下鼠标还是没有按下,只要移动了就是event=5
	//当按下鼠标,event=0
	//手指上抬,松开鼠标,event=2 
	static int ox=0;
	static int oy=0;
	static int flag=0;//如果不加static这样的话会画不出来  
	printf("x=%d,y=%d,button=%d,event=%d\n",x,y,button,event);
	if(event==0){
		ox=x;
		oy=y;//重新赋值坐标给ox、oy是为了在下一次在别的位置画图不会突然一条线连过去,重新开始在新的位置画图 
		flag=1;		
	}else if(event==2){//当鼠标抬起,不会执行画图代码 
		flag=0;
	}
	if(flag){//当按下鼠标时,flag=1,抬起flag=0 
		beginPaint();
		line(ox,oy,x,y);
		endPaint();	
		ox=x;
		oy=y;		
	}
}
int Setup()
{
	initWindow("Test",DEFAULT,DEFAULT,800,800);
	initConsole();
	printf("Hello\n");
	//回调函数获取事件来知道鼠标移动位置以及鼠标状态 
	registerMouseEvent(mouseListener); //注册了回调函数 
	return 0;
}

运行并画图:
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值