搜索
bottom↓
回复: 29

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

[复制链接]

出0入264汤圆

发表于 2016-1-6 22:11:42 | 显示全部楼层 |阅读模式
本帖最后由 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2016-1-6 22:49:52 | 显示全部楼层
牛气呀,做的太极致了!!

出0入76汤圆

发表于 2016-1-6 23:04:30 | 显示全部楼层
给大神顶起,这GUI做得很强, 看过您很多帖子, 很受益,谢谢。
(也看过您的一些代码片段, 总感觉风格有些农民讲习所的味道, 嘿嘿~~)

出0入0汤圆

发表于 2016-1-7 00:12:22 | 显示全部楼层
厉害,我前段时间也为公司做了一个文本显示器,基本控件都有。

出0入0汤圆

发表于 2016-1-7 08:38:38 | 显示全部楼层
上位机用的那个?

出0入8汤圆

发表于 2016-1-7 08:47:21 | 显示全部楼层
顶,太牛X了……看过大师不少贴子,都是经典!

出100入101汤圆

发表于 2016-1-7 09:08:43 | 显示全部楼层
可以参考zlg gui

出0入264汤圆

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

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

出0入264汤圆

 楼主| 发表于 2016-1-7 09:13:18 | 显示全部楼层
Excellence 发表于 2016-1-7 08:38
上位机用的那个?

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

出0入264汤圆

 楼主| 发表于 2016-1-7 09:14:23 | 显示全部楼层

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

出0入0汤圆

发表于 2016-1-7 09:16:42 | 显示全部楼层
如果能灵活的定义外维按键,做一些非标的界面机,比起信捷来才会有竞争力

出20入0汤圆

发表于 2016-1-7 09:18:02 | 显示全部楼层
  谢谢分享,看过楼主之前发的GUI设计的资料,很受启发。
  楼主可以更进一步,做一个工具把GUI设计集成起来,以后GUI设计可以完全自动化。

出75入0汤圆

发表于 2016-1-7 10:22:33 | 显示全部楼层
现在很多GUI没有字体渐变遮挡,比如下拉段落显示一般都是直接出现或隐藏,整字跳变。楼主这GUI估计用显示范围直接影响字体打印函数。

出0入0汤圆

发表于 2016-1-7 10:34:43 | 显示全部楼层
本帖最后由 Excellence 于 2016-1-7 10:35 编辑

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

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

出0入0汤圆

发表于 2016-1-7 11:42:25 | 显示全部楼层
楼主上位机用的c#吗?

出0入0汤圆

发表于 2016-1-7 12:22:17 | 显示全部楼层
mcu_lover 发表于 2016-1-7 09:13
上位机自己开发的。上下位机都需要自己开发。从零开始。

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

出0入0汤圆

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

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

出0入0汤圆

发表于 2016-1-7 13:07:39 | 显示全部楼层
开源吗?

出0入264汤圆

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

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

出0入264汤圆

 楼主| 发表于 2016-1-7 13:19:54 | 显示全部楼层
河图洛书 发表于 2016-1-7 11:42
楼主上位机用的c#吗?

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

出0入0汤圆

发表于 2016-1-7 13:20:19 | 显示全部楼层
楼主有兴趣合作开发么?

出0入264汤圆

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

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

出0入0汤圆

发表于 2016-1-7 13:50:11 | 显示全部楼层
楼主很专注这个,赞!

出0入76汤圆

发表于 2016-1-7 13:55:22 | 显示全部楼层
本帖最后由 foxpro2005 于 2016-1-7 13:56 编辑

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

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

出0入0汤圆

发表于 2016-1-7 16:59:49 | 显示全部楼层
mcu_lover 发表于 2016-1-7 13:20
C++。
能具体点说吗?我看看是哪个部分。

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

出0入264汤圆

 楼主| 发表于 2016-1-7 18:20:51 来自手机 | 显示全部楼层
foxpro2005 发表于 2016-1-7 13:55
这个显示的原理是不是:
在RAM建立了一个GUI显示缓存,然后有一个专门负责屏幕刷新维护的任务(或线程,它 ...

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

出0入264汤圆

 楼主| 发表于 2016-1-7 18:29:54 来自手机 | 显示全部楼层
kinsno 发表于 2016-1-7 16:59
比如,画点函数和汉字取模点阵之间的转换; 例如,一个汉字,如何使用画点函数实现出来;
PS: 不过话说回来,  ...

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

出0入0汤圆

发表于 2016-1-7 20:12:30 | 显示全部楼层
本帖最后由 kinsno 于 2016-1-7 21:33 编辑
mcu_lover 发表于 2016-1-7 18:29
上位机有setpixel 之类的函数,可以用来绘制图形,文字可以直接drawtext 输出。为了实现上位机显示效果和 ...


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

出0入0汤圆

发表于 2018-11-2 14:56:25 | 显示全部楼层
MARK  文本显示器HMI开发- 静态文本控件效果  有VC 上位机程序  GUI 开发

出0入0汤圆

发表于 2018-11-2 14:59:17 | 显示全部楼层
mark 一下 有vc 上位机 程序 ,GUI 开发 类似 农民讲习所 的代码风格
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 16:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表