mcu_lover 发表于 2016-1-6 22:11:42

文本显示器HMI开发- 静态文本控件效果

本帖最后由 mcu_lover 于 2016-1-6 22:15 编辑

兴趣使然,从12年开始这个文本HMI 组态软件的上位软件 以及下位软件的开发。
因为是业余时间整,所以时间非常非常难以保证。今年基本上才写了不到5000行。
一直想有大把的时间投入上去,但是生活艰辛。只能抽空去整一整。

静态文本显示控件应该算是定型了。

顾名思义,静态文本就是显示预先设定好的静态文本字符串。


字符串可以支持任意字符,可以在任意位置显示。


字符串水平方向支持 左/中/右三种对齐方式。

垂直方向支持 上/中/下 三种对齐方式。


字符串外框支持 22 种显示风格。


支持 闪烁方式 显示 ,快 / 中 /慢 三种闪烁方式。

两种闪烁模式 : 正常 / 隐藏    正常/取反


支持滚动方式显示 ,滚动时间,每次滚动点数均可以自由设置。

滚动方向支持 上/下/左/右四个方向


功能应该算得上是比较强大的了。


文本控件属性设置界面如下:







部分外观如下:




视频更直接:
http://v.youku.com/v_show/id_XNzcyNDc2MTYw.html

http://v.youku.com/v_show/id_XOTQxNzY5OTcy.html

http://v.youku.com/v_show/id_XNzY4MTY0NTU2.html

yinglively 发表于 2016-1-6 22:49:52

牛气呀,做的太极致了!!

foxpro2005 发表于 2016-1-6 23:04:30

给大神顶起,这GUI做得很强, 看过您很多帖子, 很受益,谢谢。
(也看过您的一些代码片段, 总感觉风格有些农民讲习所的味道, 嘿嘿~~)

hanshiruo 发表于 2016-1-7 00:12:22

厉害,我前段时间也为公司做了一个文本显示器,基本控件都有。

Excellence 发表于 2016-1-7 08:38:38

上位机用的那个?

Jmhh247 发表于 2016-1-7 08:47:21

顶,太牛X了……看过大师不少贴子,都是经典!

fengyunyu 发表于 2016-1-7 09:08:43

可以参考zlg gui

mcu_lover 发表于 2016-1-7 09:12:44

foxpro2005 发表于 2016-1-6 23:04
给大神顶起,这GUI做得很强, 看过您很多帖子, 很受益,谢谢。
(也看过您的一些代码片段, 总感觉风格有 ...

农民讲习所的编程思想还是挺不错的。来源于他自身本来也是做上位机的。
建议有空的话,可以学习下WIN32程序设计,对于程序结构,编程思想,会大有裨益。

mcu_lover 发表于 2016-1-7 09:13:18

Excellence 发表于 2016-1-7 08:38
上位机用的那个?

上位机自己开发的。上下位机都需要自己开发。从零开始。

mcu_lover 发表于 2016-1-7 09:14:23

fengyunyu 发表于 2016-1-7 09:08
可以参考zlg gui

传统的GUI都没有办法比拟的。

yamqqqq 发表于 2016-1-7 09:16:42

如果能灵活的定义外维按键,做一些非标的界面机,比起信捷来才会有竞争力

talkingbeast 发表于 2016-1-7 09:18:02

谢谢分享,看过楼主之前发的GUI设计的资料,很受启发。
楼主可以更进一步,做一个工具把GUI设计集成起来,以后GUI设计可以完全自动化。

minzhuzhongguo 发表于 2016-1-7 10:22:33

现在很多GUI没有字体渐变遮挡,比如下拉段落显示一般都是直接出现或隐藏,整字跳变。楼主这GUI估计用显示范围直接影响字体打印函数。

Excellence 发表于 2016-1-7 10:34:43

本帖最后由 Excellence 于 2016-1-7 10:35 编辑

又看看了楼主的文章。
楼主现在做的主要是文本显示器,类似VC6上的按键,进度条等等控件都做吗?
如果能把控件做好,这一点工作量就不小。大彩的就几个控件,迪文也不多。
上位机和UCBUILDER有点类似,下位机和串口屏想象。
自己做,工程巨大。

我现在仅仅用串口屏。通过单片机和串口屏通讯,感觉写程序很纠结,一会画图,一会码代码。
自己开发,上下位机,编程序,感觉很分裂。呵呵。

河图洛书 发表于 2016-1-7 11:42:25

楼主上位机用的c#吗?

kinsno 发表于 2016-1-7 12:22:17

mcu_lover 发表于 2016-1-7 09:13
上位机自己开发的。上下位机都需要自己开发。从零开始。

是C#吗? 上位机点阵显示的底层函数能指导一下不? 这个点阵显示不太会用C#来实现; 要不然,我也上了这个东西啦;

Excellence 发表于 2016-1-7 12:41:01

kinsno 发表于 2016-1-7 12:22
是C#吗? 上位机点阵显示的底层函数能指导一下不? 这个点阵显示不太会用C#来实现; 要不然,我也上了这个东 ...

UCGUI有VC6的例程,可以参考。

sbk100 发表于 2016-1-7 13:07:39

开源吗?

mcu_lover 发表于 2016-1-7 13:18:10

Excellence 发表于 2016-1-7 10:34
又看看了楼主的文章。
楼主现在做的主要是文本显示器,类似VC6上的按键,进度条等等控件都做吗?
如果能把 ...

是啊,要做的组态控件很多。
HMI组态软件,比串口屏要复杂的多。
工作量超大。上位机的代码最终应该在15W~20W之间。现在上位机代码写了不到3W行。
下位机也是同步进行。
一般这类东西,都是一个团队来做。周立功投入了一个几十人的团队,花了三四年,几千万投入做出来的HMI,现在也基本停掉了。定位没做好,成本控制做不下来。
而且这类系统软件都是上下位机同时进行,因为都是在不断的测试调整。

mcu_lover 发表于 2016-1-7 13:19:54

河图洛书 发表于 2016-1-7 11:42
楼主上位机用的c#吗?

C++. 开发环境VC。
这类系统软件用C++会比较方便一些。

lvhaian 发表于 2016-1-7 13:20:19

楼主有兴趣合作开发么?

mcu_lover 发表于 2016-1-7 13:20:45

kinsno 发表于 2016-1-7 12:22
是C#吗? 上位机点阵显示的底层函数能指导一下不? 这个点阵显示不太会用C#来实现; 要不然,我也上了这个东 ...

C++。
能具体点说吗?我看看是哪个部分。

qq854149876 发表于 2016-1-7 13:50:11

楼主很专注这个,赞!

foxpro2005 发表于 2016-1-7 13:55:22

本帖最后由 foxpro2005 于 2016-1-7 13:56 编辑

这个显示的原理是不是:
在RAM建立了一个GUI显示缓存,然后有一个专门负责屏幕刷新维护的任务(或线程,它定时整屏刷新 或 数据有变化时只刷新变化区域), 而每个控件(或直接显示字符串等)相关的任务直接操作的GUI显示缓存。

另外请教下,看您的这些控件或图形,是不是还涉及到了显示层(Layer,上一层可以覆盖下一层的部分显示区域)的概念? 如果是, 控件显示冲突(或者说干涉)怎么处理的呢? 有没有建立控件与层的相关属性?

kinsno 发表于 2016-1-7 16:59:49

mcu_lover 发表于 2016-1-7 13:20
C++。
能具体点说吗?我看看是哪个部分。

比如,画点函数和汉字取模点阵之间的转换; 例如,一个汉字,如何使用画点函数实现出来;
PS: 不过话说回来, 这个东西,确实很好, 其实好多时间,我们的理想往往都没有时间实现;

mcu_lover 发表于 2016-1-7 18:20:51

foxpro2005 发表于 2016-1-7 13:55
这个显示的原理是不是:
在RAM建立了一个GUI显示缓存,然后有一个专门负责屏幕刷新维护的任务(或线程,它 ...

显示有缓存。这个界面就是我发表过得裸机界面开发介绍的一个实现。控件的状态变化了才去刷新。控件之间有z序的关系。刷新时候要考虑它们之间的关系。

mcu_lover 发表于 2016-1-7 18:29:54

kinsno 发表于 2016-1-7 16:59
比如,画点函数和汉字取模点阵之间的转换; 例如,一个汉字,如何使用画点函数实现出来;
PS: 不过话说回来,...

上位机有setpixel 之类的函数,可以用来绘制图形,文字可以直接drawtext 输出。为了实现上位机显示效果和下位机一致,需要对字符串取模。可以drawtext到画布,然后getpixel ,这个是最简单直观的方法。

kinsno 发表于 2016-1-7 20:12:30

本帖最后由 kinsno 于 2016-1-7 21:33 编辑

mcu_lover 发表于 2016-1-7 18:29
上位机有setpixel 之类的函数,可以用来绘制图形,文字可以直接drawtext 输出。为了实现上位机显示效果和 ...

搞定,上网找了一个取模软件;找个时间,我也搞个文本显示器;

maimaige 发表于 2018-11-2 14:56:25

MARK文本显示器HMI开发- 静态文本控件效果有VC 上位机程序GUI 开发

maimaige 发表于 2018-11-2 14:59:17

mark 一下 有vc 上位机 程序 ,GUI 开发 类似 农民讲习所 的代码风格
页: [1]
查看完整版本: 文本显示器HMI开发- 静态文本控件效果