C语言ege鼠标控制,初学EGE图形库(二)---获取鼠标详细信息

#include int main()

{

initgraph(640, 480);

setfont(18, 0, "宋体");

mouse_msg msg = {0};

/*mouse_msg是一个结构体

typedef struct mouse_msg

{

UINT msg;

INT x;

INT y;

UINT flags;

INT wheel;

}mouse_msg;

这一步操作和memset(&msg,0,sizeof(struct mouse_msg));是一个意思*/

for ( ; is_run(); delay_fps(60))

{

while (mousemsg())//获取鼠标消息,这个函数会等待,等待到有消息为止

{

msg = getmouse();//将鼠标信息存入鼠标结构体

}

cleardevice();//清空前景,即清空上次的结果

xyprintf(0, 0, "x = %10d y = %10d",

msg.x, msg.y);

//第一行显示鼠标x,y位置.

xyprintf(0, 20, "move = %d down = %d up = %d",

(int)msg.is_move(),

(int)msg.is_down(),

(int)msg.is_up());

//第二行显示鼠标是否有动作,按键状态

xyprintf(0, 40, "left = %d mid = %d right = %d",

(int)msg.is_left(),

(int)msg.is_mid(),

(int)msg.is_right());

//第三行显示鼠标被按下的按键(左,中,右)

xyprintf(0, 60, "wheel = %d wheel rotate = %d",

(int)msg.is_wheel(),

msg.wheel);

//第四行显示滚轮位置

}

closegraph();

return 0;

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EGE是Easy Graphics Library的缩写,是一款基于C语言图形库,主要用于Windows平台下的图形绘制。 要实现通过鼠标滚轮缩放图形和字体大小,可以使用EGE提供的鼠标事件函数和缩放函数。 首先,在程序开头需要引入头文件和定义全局变量: ```c #include <graphics.h> int main() { initgraph(640, 480); // 初始化图形窗口 int font_size = 16; // 字体大小 double scale = 1.0; // 缩放比例 int x = 320, y = 240; // 图形中心点坐标 setbkcolor(WHITE); // 设置背景颜色为白色 cleardevice(); // 清空屏幕 while (1) { if (MouseHit()) // 检测是否有鼠标事件 { MOUSEMSG msg = GetMouseMsg(); // 获取鼠标事件信息 if (msg.uMsg == WM_MOUSEWHEEL) // 判断是否为鼠标滚轮事件 { if (msg.zDelta > 0) // 滚轮向上滚动 { scale += 0.1; // 缩放比例增加0.1 } else if (msg.zDelta < 0) // 滚轮向下滚动 { scale -= 0.1; // 缩放比例减少0.1 } cleardevice(); // 清空屏幕 } } settextcolor(BLACK); // 设置字体颜色为黑色 settextstyle(0, 0, font_size); // 设置字体样式和大小 outtextxy(x, y, "Hello, EGE!"); // 在指定位置输出文本 setlinestyle(PS_SOLID, 2); // 设置线条样式为实线,线宽为2 setlinecolor(RED); // 设置线条颜色为红色 rectangle(x - 50 * scale, y - 50 * scale, x + 50 * scale, y + 50 * scale); // 绘制矩形 Sleep(10); // 暂停10毫秒,避免CPU占用过高 } closegraph(); // 关闭图形窗口 return 0; } ``` 在主循环中,首先检测是否有鼠标事件,如果是鼠标滚轮事件,则根据滚动方向调整缩放比例,并清空屏幕。然后,根据字体大小和缩放比例设置字体样式和大小,并在指定位置输出文本。最后,根据缩放比例绘制矩形。程序运行后,可以通过鼠标滚轮缩放图形和字体大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值