使用easyx来实现按钮功能
实现思路
easyx是实现c/c++的图形库,没有封装好的组件,需要手动完成。
思路是画一个长方形,在长方形中水平、垂直居中显示文字,函数button的四个参数分别表示为,x为距离窗口左上角坐标原点(0,0)的横坐标距离,y为距离窗口左上角坐标原点(0,0)的纵坐标距离,w为按钮的宽度,h为按钮的高度。
设置文字的位置思路是
文字x坐标=按钮边框的起始位置x+(按钮的宽度-文字宽度)/2
文字y坐标=按钮边框的起始位置y+(按钮的高度-文字高度)/2
按钮构造好后,需要获取鼠标的位置坐标,判断鼠标是否在按钮的宽度、高度的范围内,若在此范围内,进行相应的事件函数。
#include <graphics.h> // 引用图形库头文件
#include <conio.h>
#include<stdio.h>
#include<easyx.h>
void button(int x,int y,int w,int h,TCHAR * text){setbkmode(TRANSPARENT);setfillcolor(GREEN);fillroundrect(x,y,x+w,y+h,10,10);// 输出字符串(MBCS 字符集)TCHAR s1[] = L"黑体";settextstyle(30,0,s1);TCHAR s[50] = L"hello";int tx = x + (w - textwidth(text)) / 2;int ty = y + (h - textheight(text)) / 2;outtextxy(tx, ty, text);}
int main()
{initgraph(640, 480); // 创建绘图窗口,大小为 640x480 像素setbkcolor(BLUE);cleardevice();TCHAR s[50] = L"1.读取点云";TCHAR s1[50] = L"2.分割点云";TCHAR s2[50] = L"3.单个树木";TCHAR s3[50] = L"4.树木重建";button(220,50,170,50,s);button(220, 150, 170, 50, s1);button(220, 250, 170, 50, s2);button(220, 350, 170, 50, s3);ExMessage msg;while (true) {if (peekmessage(&msg, EM_MOUSE)) {switch (msg.message){case WM_LBUTTONDOWN:if (msg.x >= 220 && msg.x <= 220 + 170 && msg.y >= 50 && msg.y <= 50 + 50){outtextxy(200, 200, s); //写了一个展示文字的效果,相当于是测试,实际使用时可以删除//在此处写下按钮点击时要执行的函数,实现相应的功能}if (msg.x >= 220 && msg.x <= 220 + 170 && msg.y >= 150 && msg.y <= 150 + 50){outtextxy(200, 200, s1);//在此处写下按钮点击时要执行的函数,实现相应的功能 }if (msg.x >= 220 && msg.x <= 220 + 170 && msg.y >= 250 && msg.y <= 250 + 50){outtextxy(200, 200, s2); //在此处写下按钮点击时要执行的函数,实现相应的功能}if (msg.x >= 220 && msg.x <= 220 + 170 && msg.y >= 350 && msg.y <= 350 + 50){outtextxy(200, 200, s3); //在此处写下按钮点击时要执行的函数,实现相应的功能}break;default:break;}}}return 0;
}
结果如图所示
点击后效果如图:
使用easyx来实现按钮功能相关推荐
- IAR调试按钮功能说明及调试主要看哪些内容
参考文档:http://www.docin.com/p-1983183635.html IAR调试按钮功能说明 先来看常用的快捷键: 全速运行:F5 单步运行:F10 加断点/取消断点:Ctrl+F9 ...
- java小程序显示多种按钮_微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能...
看了很多帖子,但是效果都不是很好.还是找微信小程序官方文档,自己写比较方便.自己动手丰衣足食!话不多说,上代码! 先来个效果图 html {{item.text}} 查看更多 收起 wxss .box ...
- bootstrap table 光标_第三章之Bootstrap 表格与按钮功能
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. 学习要点: 1.表 ...
- 渐变色按钮功能按钮绘制C语言示例
渐变色按钮功能按钮绘制C语言示例 本文介绍C语言绘图示例: 1.渐变色按钮 绘制 详见drawcover() 2.功能按钮小图形 绘制 详见newgame () 3.游戏图形 ...
- java重置按钮功能函数_Bootstrap按钮功能之查询按钮和重置按钮
Bootstrap按钮功能之查询按钮和重置按钮 1.问题背景 一般情况下,查询列表有查询条件.查询按钮和重置按钮,输入查询条件,点击查询按钮查询列表等数据:点击重置按钮会将查询条件恢复到原始状态 2. ...
- html怎么把按钮做成可以百度,网站网页中加入各种分享按钮功能 百度分享
对网页加入分享到各大网站按钮功能,网页中加入分享按钮,用户点击即可分享收藏到对应网站去.不管哪个页面都能记录分享此时情况.DIVCS5推荐使用百度分享 分享按钮功能截图 一.分享按钮形式 - ...
- 用html5label写一个简单的按钮功能
声明:博主本人第一次在CSDN上传自己的代码,有什么不对的地方,多多指教 本文主要是上传用label标签些一个按钮,按钮设计图是网上看到的,比较漂亮,所以自己用ps做了一个png图. 废话少说,直接上 ...
- 基于物联网技术的智慧病房管理系统(二)—— RTOS、AHT20 与 按钮功能实现
基于物联网技术的智慧病房管理系统(二)-- RTOS.AHT20 与 按钮功能实现 这里 RTOS 代码修改,AHT20 驱动代码移植可以参考前面博客内容: STM32 -- IIC 读取 ATH20 ...
- android 开发打赏布局,Android自定义View模仿虎扑直播界面的打赏按钮功能
Android自定义View模仿虎扑直播界面的打赏按钮功能 发布时间:2020-09-28 12:15:53 来源:脚本之家 阅读:77 作者:shenhuniurou 前言 作为一个资深篮球爱好者, ...
- html网页制作教程按钮添加,网页制作html5自定义video标签的海报与播放按钮功能...
一.问题 1.默认播放按键不好看 2.设置自定义封面图 以上这两点都想自定义 二.思路 1.使用div把video标签盖住 2.div中显示自定义的海报图片与按钮 三.步骤分解 1.海报图片作为div ...
最新文章
- iOS 4.2 SDK安装
- centos7安装tomcat8.5
- 【django轻量级框架】云端系统之Django框架
- 7号团队-团队任务3:每日例会(2018-12-05)
- jenkins设置使用参数构建项目
- linux 系统工程师 面试 开放式问答
- iphone xh5打开ppt预览_教你如何用iPhone拍全景照片
- 诺奖技术和高通量筛选双双找到新冠病毒的脉门
- Android开发之和风天气篇:1、获取天气信息
- Cocos2d-x 3.2:定时器的使用和原理探究(1)
- Android 11 usb调试默认打开
- 机械键盘轴体(红轴、茶轴、黑轴、青轴)
- The setting mapUnderScoreToCamelCase is not known. Make sure you spelled it correctly (case sensiti
- spaCy 2.1 中文NLP模型
- 信息系统项目管理师 第三章-项目立项管理
- 云计算----什么是云计算
- C语言:二维数组:求平均数
- 爬虫基础(5) -网页解析
- 吾爱2023新年红包题第六题 (CTF)
- 婚宴座位图html5,婚礼座位安排必须注意的15个细节