使用 EasyX 实现的学生成绩管理系统
基于 EasyX 的文本框(TextBox)和按钮(Button)控件
EasyUI:基于 EasyX 的 UI 界面库(by 祝融)
EasyUI 类构成指南
EasyUI 将 UI 拆分成了两个部分--绘制单元和事件触发器。
使用者可以使用绘制单元来控制 UI 的风格,同时选择一定的事件触发器来使 UI 具备响应事件的功能。
绘制单元:
...-CDrawCell:所有绘制单元的基类
-CSimpleShape:继承自 CDrawCell,集成了通过 EasyX 图形绘制函数绘制的图形属性
-CHaveSize:所有拥有大小的类的基类
-CRect:继承自 CSimpleShape,绘制一个矩形
-CRoundRect:继承自 CSimpleShape,绘制一个圆角矩形
-CCircle:继承自 CSimpleShape,绘制一个圆形,并以绘制位置为中心(所有绘制单元都从左上角画起,除了圆)
-CEllipse:继承自 CSimpleShap,绘制一个椭圆(通过外接矩形)
-CText:继承自 CDrawCell,输出一串字符串
-CUIIm
可以自由定制的电子相册(by 席锦)
这是一个自已DIY内容并且具有背景音乐的电子相册。通过自定义内容,可以制作成属于自己的电子纪念册。
点击小图可以查看每张图片以及对于的图片文字描述,按下 w、s、a、d、↑、↓、←、→ 按键可以达到和鼠标点击的同样效果。支持跳转至任意一张已加载的相片,也支持自动循环浏览相册,具体操作请点击对应的工具图标。
执行效果如下:
操作说明:
- 点击小相片将看到对应的大相片和相片印记
- 点击不同的工具图标将产生不同的效果
- 支持按键 w、s、a、d、↑、↓、←、→,作用分别是上下移动和左右翻页
- 支持跳转至任意编号相片
- 支持内容 DIY,具体操作请参照 Set.ini
- rc 文件为程序图标,不可修改
- res 为程序 DIY 内容所在文件夹,里面内容皆可修改
该项目的编译环境为:VS2017 + EasyX_20190314(beta)
完整的源代码【请点击这里下载】。
...画板(by 冰雪女神百亚)
这是一个画板程序。执行效果如下:
右边颜色即对应画笔颜色,滑动条可调节画笔大小。
如果画错了想擦除,选择对应背景色作为画笔颜色即可。
如果想保存你的画作,请点击“工具”二字。此时在与exe同目录下将会有名为“easyxImage.bmp”的文件。请及时拷走,以防下次保存时被覆盖。
全部代码如下:
///////////////////////////////////////////////
// 程序名称:画板
// 编译环境:Visual C++ 2017,EasyX_20180727(beta)
// 作者:冰雪女神百亚
// QQ:1169351944
// 邮箱:cloudea@163.com
// 最后修改:2019-1-18
//
#include<string>
#include<graphics.h>
using namespace std;
// 点
struct Point
{
int x;
...
基于 EasyX 的实时信号绘制工具(by Ephemeroptera)
由于最近从 matlab 转接到 vs 平台继续自己的仿真工作,但是却一直没有找到简易 plot 工具,于是尝试用 EasyX 开发一个绘制波形的小工具,希望可以帮助到有需要的人。
执行效果如图:
完整源代码如下:
/******************************************************************************************/
// EasyPlot 是基于 EasyX 绘图库(https://www.easyx.cn)而编写的,对实时信号进行绘制的一个工具
// 以下代码为了便于学习以源文件形式展示,如果应用于工程建议采用头文件形式封装
// 本文采用Unicode字符集,ANSI环境的读者注意相关地方格式的转换
// 作者:Ephemeroptera
// 地点:安徽大学
// 联系方式:605686962@qq.com
// 最后修改时间:2018-11-29
/*************
...
LuaEasyX——用 Lua C/API 封装 EasyX(by 小冰)
相信看到这篇文章大部分得小伙伴都是用过 EasyX 的,这是一个 Windows 下的 C++ 图形库,过多的介绍不再赘述。
当初接触 EasyX 时,我最大的感触就是:哇,原来还有这么简单易用的图形库!!!!
用过一段时间感觉很棒,推荐给大家!
某次突发奇想,要不我把 EasyX 封装成 Lua 模块吧,这样子就不受到编译器的限制了,只要装有相应版本的 Lua 解释器,并且提供运行库那就很 OK 啦。
大家 LuaEasyX = require "LuaEasyX" 后自己 for k,v in pairs(LuaEasyX) do print(k,v) end 看一看
我也懒得做文档了,因为 LuaEasyX 本质就是对 EasyX 的再次封装,API 的参数几乎一模一样。
在下面放出的文件中我会把一些API的差异给列出到一个文本文档中。
以后还会用自己封装的LuaEasyX来再做几个小游戏给大家玩玩的。
大家到时候拿来过过瘾就好啦,哈哈哈
...计算器(by Redman)
本程序采用面向对象技术编写,主要涉及到了三个类:GButton、GEdit、GCount。
GButton 负责按钮的放置,绘制,响应鼠标等操作。GEdit 负责编辑框的显示更新数据,通过设置其内部的字符串来更新数据, 设置函数 SetEditString 就是程序与编辑框的接口,每进行一次操作将 GCount 的字符串通过该函数传递给编辑框,然后编辑框更新数据。每个按钮内部也有字符串, 每次通过读取按钮内部的字符串来裁决 GCount 要进行的操作,当程序获取到左右操作数时,相当于用户点击了等于号按钮,程序便计算结果,并将结果传递给 GCount 内部的字符串,以便后续操作。当用户使用鼠标滑动时,会产生鼠标消息,若有鼠标消息,程序便读取一个消息,此时判断鼠标滑动的位置,函数 OnLocate 就是原来计算鼠标是否滑动到按钮上,若的确滑动到了按钮上,则将其设置为当前按钮,并将上次滑动到的按钮的颜色恢复,当前按钮的颜色将变化,至于 GButton 为什么使用二维数组,便是为了快速的将鼠标消息所对应的位置与相应的按钮映射过来,这样能迅速的找到对应的按钮,并对其进行操作。
...BFS 寻路演示程序(by 光棱坦克)
这个程序是 BFS 寻路 Demo。
该程序可以让用户自由设置起点、终点、障碍物,并得出寻路结果。寻路算法用的是广度优先搜索算法(BFS),界面和图形显示用的是 EasyX。
程序运行界面如下:
完整的源代码如下:
// 程序名称:BFS 寻路 Demo
// 作者:光棱坦克(prismtank)
// QQ:3152239285
// 完成日期:2016-7-16
// EasyX 版本:2015-10-15
//
#include <graphics.h>
#include <stdio.h>
#include <memory.h>
#include <queue>
using namespace std;
const int WIDTH = 24, HEIGHT = 24;
struct Block
{
BYTE x, y, depth, data[200];
bool searched,
...
功能强大的计算器(by 尔灵尔亿)
这个计算器程序是模仿 Windows 10 系统的计算器所写的,借鉴了 Windows 10 计算器的一些外观设计以及所包含的一些功能,但是实现此计算器的所有算法是自己独立开发,其中的一些功能或许没有写的很完善。
下面介绍此计算器所包含的一些功能,以及用法。
计算器包含两大功能:计算功能、转换功能。计算功能包含普通计算器、科学计算器、超大数的计算、解一元一次方程。转换器包含体积转换、长度转换、重量转换、温度转换、能量转换、面积转换、速度转换、时间转换、功率转换、数据转换、压力转换、角度转换,包含了基本所有常用的转换。
普通计算器:实现最普通的加减乘除,通过用户输入的字符串(中缀表达式),转换为计算机可以计算的后缀表达式(后缀表达式又称逆波兰式),最后通过栈来实现计算。
科学计算器:所谓的科学计算器只是加上了一些可以计算的函数,如 sin、cos、tan 等,这个计算器不是按上面普通计算器的实现方法,而是通过数字的直接计算,功能实现的不是很好(所以我认为科学计算用起来是不怎么好用)。
超大数计算:实现一些很大的数
...万年历(by Redman)
万年历程序。顾名思义可以查询很多年份的日历。
按键介绍:
- q 年份加 1,a 年份减 1
- w 年份加 10,s 年份减 10
- e 年份加 100,d 年份减 100
- r 年份加 1000,f 年份减 1000
- t 月份加 1,g 月份减 1
执行效果如下:
完整的源代码如下:
/************************************************************
* 本程序名叫万年历: *
* 顾名思义可以查询很多年份的日历 *
* 按键介绍: *
* q 年份加 1, a 年份减 1 *
* w 年份加 10, s 年份减 10 *
* e 年份加 100, d 年份减 100 *
* r 年份
...