初学EGE图形库(一)---获取鼠标位置

EGE图形的官方示例很完善了,但是有一部分没有说清楚.

介于一般使用EGE图形库的同学都是初学者所以稍微完善了一下注解方便大家理解.

#include <graphics.h>
#include <stdio.h>
int main()
{
	initgraph(640, 480);//初始化窗体大小

	setfont(18, 0, "幼圆");//(指定高度,字符的平均宽度,字体类型)

	for ( ; is_run(); delay_fps(60))//is_run()判断窗口是否允许;delay_fps()延迟以FPS为准的时间
	{
		char str[32];//该字符串用来存储输出数据
		int x, y;
            
		
		mousepos(&x, &y);
		/*获取鼠标坐标,此函数不等待。若鼠标移出了窗口,那么坐标值不会更新
		特殊情况是,你按着鼠标键不放,拖出窗口,这样坐标值会依然更新*/

		sprintf(str, "%4d %4d", x, y);//格式化输出为字符串,用于后面输出

		outtextxy(0, 0, str);//(在屏幕位(0,0处开始输出文字));
	}

	closegraph();//关闭窗体
	return 0;
}

关于几个函数的解释官方已经解释的很清楚了:文档地址

mousepos()的声明是:

int mousepos(int *x, int *y);

也就是说 实际上要传入实现存在的变量 x , y的地址

outtextxy()的声明

void outtextxy(
    int x,
    int y,
    LPCSTR textstring,
    PIMAGE pimg = NULL
);

说明使用sprintf()的目的是转换int型的x与y为字符串,因为outtextxy()传入的是字符串的指针.


扫描二维码关注公众号,回复: 1879327 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_18994119/article/details/80470207