支持鼠标交互的多行文本框(含语法高亮)

该程序借鉴了以前编写的时钟罗盘,以及参考官网上窗口技巧实现圆形窗口。实现了一个简单的量角器程序,可以通过量角器测量一些简单图形的角度弧度等信息。
我在绘制图形时,需要使用 arc 这个函数,但是该函数的参数获取比较麻烦,需要获得的弧的起始角度和终止角度。那这个角度如何获取呢,其实办法有很多,例如将要绘制的图像导入到 CAD 中直接就可以量,也可以用量角器量,或者手机下载软件来量,但是最终的麻烦程度超过了写一个程序所需要的时间。所以我索性编写了一个量角器,来解决编写程序过程中遇到的麻烦。程序本来就是来解决麻烦的,而不是制造麻烦的。
鼠标左键长按到红色的圈上可以实现量角器的拖拽,左键点击外边红色的圈可以实现量测,右键点击红色的圈退出程序。
量角器
////////////////////////////////////////
...
这个项目是游戏《我的世界》中的红石模拟器。
程序由两个窗口组成,一个是用来输入的 cmd 窗口,另一个是用来显示地图的绘图窗口。
执行效果:
这是一个 3 x 6 点阵灯,显示着字母 A。
尽管这个模拟器是平面的,但他仍然可以实现许多在 Minecraft 中可以实现的东西,此处不再举例,release 中有 map 文件夹,里面有预设的地图,可以参考。
更多内容请在程序中输入 help 指令查看帮助。
下载链接:https://github.com/zouhuidong/MinecraftRedstoneSimulate/
猪圈密码(Pigpen cipher),亦称共济会密码(英语:masonic cipher)或 共济会员密码(英语:Freemason's cipher),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。
(Hello EasyX)
以下是使用EasyX绘制猪圈密码的一种方式。
#include <graphics.h>
#include <string>
namespace thatboy
{
namespace Pigpen
{
enum : UINT
{
PIG_NULL = 0
, LINE_LEFT = 0X0001 // │
, LINE_TOP = 0X0002 // ─
, LINE_RIGHT = 0X0004 // │
, LINE_BOTTON = 0X0008 // ─
, ARROW_RIGHT = 0X0010 //
...
EasyUI 类构成指南
EasyUI 将 UI 拆分成了两个部分--绘制单元和事件触发器。
使用者可以使用绘制单元来控制 UI 的风格,同时选择一定的事件触发器来使 UI 具备响应事件的功能。
绘制单元:
...-CDrawCell:所有绘制单元的基类
-CSimpleShape:继承自 CDrawCell,集成了通过 EasyX 图形绘制函数绘制的图形属性
-CHaveSize:所有拥有大小的类的基类
-CRect:继承自 CSimpleShape,绘制一个矩形
-CRoundRect:继承自 CSimpleShape,绘制一个圆角矩形
-CCircle:继承自 CSimpleShape,绘制一个圆形,并以绘制位置为中心(所有绘制单元都从左上角画起,除了圆)
-CEllipse:继承自 CSimpleShap,绘制一个椭圆(通过外接矩形)
-CText:继承自 CDrawCell,输出一串字符串
-CUIIm
这是一个自已DIY内容并且具有背景音乐的电子相册。通过自定义内容,可以制作成属于自己的电子纪念册。
点击小图可以查看每张图片以及对于的图片文字描述,按下 w、s、a、d、↑、↓、←、→ 按键可以达到和鼠标点击的同样效果。支持跳转至任意一张已加载的相片,也支持自动循环浏览相册,具体操作请点击对应的工具图标。
执行效果如下:
操作说明:
该项目的编译环境为:VS2017 + EasyX_20190314(beta)
完整的源代码【请点击这里下载】。
...这个计算器程序是模仿 Windows 10 系统的计算器所写的,借鉴了 Windows 10 计算器的一些外观设计以及所包含的一些功能,但是实现此计算器的所有算法是自己独立开发,其中的一些功能或许没有写的很完善。
下面介绍此计算器所包含的一些功能,以及用法。
计算器包含两大功能:计算功能、转换功能。计算功能包含普通计算器、科学计算器、超大数的计算、解一元一次方程。转换器包含体积转换、长度转换、重量转换、温度转换、能量转换、面积转换、速度转换、时间转换、功率转换、数据转换、压力转换、角度转换,包含了基本所有常用的转换。
普通计算器:实现最普通的加减乘除,通过用户输入的字符串(中缀表达式),转换为计算机可以计算的后缀表达式(后缀表达式又称逆波兰式),最后通过栈来实现计算。
科学计算器:所谓的科学计算器只是加上了一些可以计算的函数,如 sin、cos、tan 等,这个计算器不是按上面普通计算器的实现方法,而是通过数字的直接计算,功能实现的不是很好(所以我认为科学计算用起来是不怎么好用)。
超大数计算:实现一些很大的数
...相信看到这篇文章大部分得小伙伴都是用过 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来再做几个小游戏给大家玩玩的。
大家到时候拿来过过瘾就好啦,哈哈哈
...由于最近从 matlab 转接到 vs 平台继续自己的仿真工作,但是却一直没有找到简易 plot 工具,于是尝试用 EasyX 开发一个绘制波形的小工具,希望可以帮助到有需要的人。
执行效果如图:
完整源代码如下:
/******************************************************************************************/
// EasyPlot 是基于 EasyX 绘图库(https://www.easyx.cn)而编写的,对实时信号进行绘制的一个工具
// 以下代码为了便于学习以源文件形式展示,如果应用于工程建议采用头文件形式封装
// 本文采用Unicode字符集,ANSI环境的读者注意相关地方格式的转换
// 作者:Ephemeroptera
// 地点:安徽大学
// 联系方式:605686962@qq.com
// 最后修改时间:2018-11-29
/*************
...
这是一个画板程序。执行效果如下:
右边颜色即对应画笔颜色,滑动条可调节画笔大小。
如果画错了想擦除,选择对应背景色作为画笔颜色即可。
如果想保存你的画作,请点击“工具”二字。此时在与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;
...