1.鼠标消息函数

鼠标消息需要使用MOUSEMSG类型,比如MOUSEMSG msg;

然后用MoustHit()判断是否有鼠标消息(左键,右键,中间,移动)有鼠标消息返回真,没有返回假

如果有鼠标消息就可以进行接收鼠标消息 msg=GetMouseMsg();

MOUSEMSG是结构体类型 鼠标消息主要成员:

uMsg; //当前鼠标信息

x; //当前鼠标x坐标

y; //当前鼠标y坐标

uMsg可用来判断当前鼠标是什么消息

主要的两个消息1)WM_LBUTTONDOWN鼠标左键消息

2)WM_RBUTTONDOWN鼠标右键消息

#include<stdio.h>
#include<graphics.h>
int main()
{initgraph(640, 480, SHOWCONSOLE);setbkcolor(WHITE);//白色cleardevice();settextcolor(RED);//框fillrectangle(200, 50, 500, 100);settextcolor(RGB(173, 0, 13));char arr[] = "按钮";int width = 300 / 2 - textwidth(arr) / 2;int height = 50 / 2 - textheight(arr) / 2;outtextxy(width + 200, height + 50, arr);//鼠标消息while (1){if (MouseHit()){MOUSEMSG msg = GetMouseMsg();//printf("鼠标位置坐标(%d,%d\n)", msg.x, msg.y);switch (msg.uMsg){case WM_LBUTTONDOWN:将鼠标位置限制在"按钮"框内if (msg.x > 200 && msg.x < 500 && msg.y>50 && msg.y < 100){printf("测试成功\n");}outtextxy(400, 400, "鼠标左键按下");printf("鼠标位置坐标(%d,%d)\n", msg.x, msg.y);break;case WM_RBUTTONDOWN:outtextxy(400, 400, "鼠标右键按下");printf("鼠标位置坐标(%d,%d)\n", msg.x, msg.y);break;}}
}return 0;
}

运行结果

//新版如下

#define  _CRT_SECURE_NO_WARNINGS 1//没有显示strcpy不安全
#include <stdio.h>
#include<easyx.h>//包含最新鼠标操作的头文件
void button(int x,int y,int w,int h,const char*text)//w是宽度y是高度
{setbkmode(TRANSPARENT);//文字背景透明setfillcolor(BROWN);//绘制一个圆角矩形fillroundrect(x,y,x+w,y+h,10,10);settextstyle(30, 0, "黑体");//让文字居中char text_[50] = "button";strcpy(text_, text);int tx = x + (w - textwidth(text)) / 2;int ty = y + (h - textheight(text)) / 2;outtextxy(tx, ty, text);
}
int main()
{  //新的版本加了EW_前缀initgraph(640, 480, EW_SHOWCONSOLE);button(50, 50, 150, 50,"按钮");//宽度150高度50ExMessage msg;//MOUSEMSG的替代while (true){if (peekmessage(&msg, EM_MOUSE))//EM_MOUSE为获取鼠标消息,有鼠标消息返回真没有返回假{switch (msg.message){case WM_LBUTTONDOWN:if (msg.x >= 50 && msg.x <= 50 + 150 && msg.y >= 50 && msg.y <= 50 + 50){printf("测试成功\n");}}}}getchar();//关闭窗口closegraph();return 0;
}

运行结果

//注意几点

void fillroundrect(int left,int top,int right,int bottom,int ellipsewidth,int ellipseheight
);

left 圆角矩形左部 x 坐标。

top 圆角矩形顶部 y 坐标。

right 圆角矩形右部 x 坐标。

bottom 圆角矩形底部 y 坐标。

ellipsewidth 构成圆角矩形的圆角的椭圆的宽度。

ellipseheight 构成圆角矩形的圆角的椭圆的高度。

easyx的使用(3)相关推荐

  1. easy-x库graphics.h图形库安装

    easy-x库graphics.h图形库安装 graphics.h就是C++下easy-x库的一个图形库,还蛮好玩的,你想用vc6.0还是VS都是需要自己安装这个库的,接下来就来看着怎么安装吧! 一. ...

  2. 人形图案c语言程序_做游戏,学编程(C语言) 7 学习EasyX图形交互功能----flappy bird源代码...

    经过之前的学习,我们基本掌握了开发小游戏所需要的语法知识和搭建方法,但是基础C语言的可视化与交互功能实在是太弱了 . 利用免费的EasyX插件,我们可以快速上手,简单实现很酷的视觉效果 . EasyX ...

  3. 双人五子棋对战(需要EasyX图像库)

    实训要做项目呐.天天坐在电脑面前累死了.最近题刷的少.大多数都挺水.就不挨个编辑发上来了.发发白天写的项目吧.可能好几天更一下.实训结束恢复正常. 这个游戏需要EasyX的图像库.有兴趣的可以下一个图 ...

  4. EasyX和Windows库函数实现音乐播放

    文章目录 1 EasyX和Windows库函数实现音乐播放 1 EasyX和Windows库函数实现音乐播放 EasyX只是用来显示背景图片,仅此而已,哈哈哈. #include <graphi ...

  5. EasyX识别不到VC++6.0

    解决方案 安装完VC++6.0后,随便搞个代码成功执行一下,然后再运行EasyX的.exe文件就可以识别到了.

  6. EasyX制作掩码图

    EasyX制作掩码图 本文是转载的,原博客:https://blog.csdn.net/qq_35130321/article/details/80709290 在用第三方库EasyX需要用掩码图实现 ...

  7. c语言图形库三角形,Flappy Bird C语言实现及C图形库Easyx的使用

    学习Eaxy X图形库后我的成果: 花了一周时间做出并完善了Flappy Bird,目前功能如下: 1. 背景的显示 2. 加入小鸟image 3. 小鸟自由下落,按空格键/鼠标右键后上升 4. 加入 ...

  8. picturectrl控件中加载图片并显示_如何在EasyX窗体中显示图片

    前提:图片必须是.jpg或.bmp格式的图片. (一)将保存在电脑桌面上的图片显示在EasyX窗体中,图片路径为:C:甥敳獲Administrator.USER-20190823VFDesktop锤头 ...

  9. C++中绘图工具EasyX基本操作

    使用头文件 #include <graphics.h> 创建和关闭图形界面 initgraph(800,600); //创建图形界面,参数:图形宽度,图形高度 closegraph(); ...

  10. 基于easyX的颜色侵略小游戏

    是挺久以前做的一个东西,突然想到放上来分享一下俺的拙作,纯原创. 利用二维数组对齐进行划分,并讲状态分为被侵略与未被侵略两种状态来记录. 在旧版的easyX可以运行. 源码及exe下载 头文件: 1  ...

最新文章

  1. java项目:永和大王项目_Java项目:书评
  2. 更适合Pythoner的标记语言Yaml学习总结
  3. java mysql orm框架_JAVA-ORM框架整理➣Mybatis操作MySQL
  4. Qt Creator 安装 VLD
  5. 基于AVR-BootLoader,通过霜蝉远程串口可实现单片机的远程升级
  6. 量表类问卷影响关系研究(精读笔记1)SPSS
  7. java中分解json数据,java解析JSON数据详解
  8. Linux字符终端用鼠标移动一个红色矩形
  9. 已知闭合曲线上各点的坐标,如何求曲线上的凹点
  10. [总结] 上海看房体验有感
  11. Drupal迁移 | 如何创建一个Drupal 7 到 Drupal 9 的迁移路线图
  12. linux系统github全局加速
  13. 成都Uber优步司机奖励政策(2月29日)
  14. T32添加Toolbar按钮
  15. 编程一开始就应该养成的好习惯
  16. 在python中使用autoit_Python + Selenium + AutoIt 模拟键盘实现另存为、上传、下载操作详解...
  17. java.awt包_Java中awt包
  18. PHP7的异常处理机制,set_error_handler和set_exception_handler方法介绍
  19. icloud 照片导出_我的照片流和iCloud照片之间有什么区别?
  20. 特征可视化技术(CAM)

热门文章

  1. Ubuntu16.04平台下桌面窗口管理器:Xmonad 使用心得
  2. excel数据匹配_Python 自动整理 Excel 表格
  3. struct结构体里能放函数吗?
  4. 生产环境数据库开发规范
  5. origin出现demo水印解决方案
  6. 涵盖从java入门到深入架构,Linux、云计算、分布式、大数据Hadoop、ios、Android、互联网技术应有尽有
  7. 初米 php,什么字帖练字好初中米字格a4设置
  8. java中级工程师所需的技能_java工程师简历专业技能填写样本
  9. java软件工程师工作业绩_JAVA软件工程师简历自我评价
  10. cms系统是什么,用哪个比较好。