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;
}

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

posted on   不叫灯笼椒  阅读(77)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示