硬汉嵌入式论坛

 找回密码
 立即注册
查看: 15173|回复: 23
收起左侧

[emWin实战篇] 第1期:ATM机界面设计

  [复制链接]

740

主题

1326

回帖

3546

积分

管理员

春暖花开

Rank: 9Rank: 9Rank: 9

积分
3546
QQ
发表于 2014-12-13 14:14:56 | 显示全部楼层 |阅读模式
第1期:ATM机界面设计
工程下载:
第61期:ATM.zip (10.14 MB, 下载次数: 7618)
工程介绍:

1. 所有界面支持按键操作
  (1)K2按键用于控件焦点的切换,切换时,所选择的控件会出现浅色边框
  (2)K3按键用于进入下一个界面
  (3)摇杆的OK键用于选择相应控件后,触发控件所对应的的操作。


2. 如果使用触摸操作的话,请运行emWin教程第三章中的触摸校准程序,此程序会将触摸参数保
   存到EEPROM中,然后再运行此工程即可。


3. 采用触摸方式操作界面时,如果进入到没有按钮控件的界面时,可以点击屏幕中间部分进入下一页。
截图效果:


超高清视频演示:https://v.youku.com/v_show/id_XN ... .0.0&f=22529359








努力打造安富莱高质量微信公众号:点击扫描图片关注
回复

使用道具 举报

4

主题

11

回帖

4

积分

新手上路

积分
4
发表于 2015-1-20 10:08:10 | 显示全部楼层
学习了[s:151]
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2017-1-10 13:00:52 | 显示全部楼层
这个是不是只要输入4个数,就认为密码正确啊?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2017-2-7 16:50:39 | 显示全部楼层

回 jiangers 的帖子

jiangers:这个是不是只要输入4个数,就认为密码正确啊? (2017-01-10 13:00) 
是的,随意输入4个就认为正确。
回复

使用道具 举报

14

主题

35

回帖

14

积分

初级会员

积分
14
发表于 2017-8-3 18:26:52 | 显示全部楼层
对于版主所给的程序,针对数字键盘输入密码或者取款金额部分,EDIT控件的显示是通过触摸按键或者实体按键触发后,发MSG_PIN_CHANGED消息然后改变EDIT中的值。
同样通过实体按键,想弄明白的问题如下:
(1)上述要实现的前提是先禁用EDIT控件,即WM_DisableWindow(hItem);这样就失去了光标显示的功能。
若要显示光标并且闪烁,则得先聚焦到该EDIT控件上,是不是这样呢?该如何实现显示光标呢?
(2)做通过自己的实验,如果EDIT控件先聚焦,则EDIT会先剥夺实体按键通过GUI_SendKeyMsg发过来的消息,从而导致其所在的窗口对实体按键无效,
进而导致没有办法给EDIT控件输入东西,比如数字1,2,3等,因为EDIT只能响应GUI_KEY_LEFT等7个消息,远远达不到实体控件的要求。

因为自己弄的全部是外部按键操作屏幕,对于EDIT这个控件的这种属性,实在有点无力的感觉。。有没有解决办法呢?求各位大神帮忙~[s:128]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2017-8-4 11:08:00 | 显示全部楼层

回 mumuha 的帖子

mumuha:对于版主所给的程序,针对数字键盘输入密码或者取款金额部分,EDIT控件的显示是通过触摸按键或者实体按键触发后,发MSG_PIN_CHANGED消息然后改变EDIT中的值。
同样通过实体按键,想弄明白的问题如下:
(1)上述要实现的前提是先禁用EDIT控件,即WM_DisableWindow(hItem);这样就失 .. (2017-08-03 18:26)
优先学习下我们新版emWin教程中,我讲解的这个键盘里子。
QQ截图20170804110557.png
回复

使用道具 举报

14

主题

35

回帖

14

积分

初级会员

积分
14
发表于 2017-8-4 18:12:44 | 显示全部楼层

回 eric2013 的帖子

eric2013:优先学习下我们新版emWin教程中,我讲解的这个键盘里子。


 (2017-08-04 11:08) 
终于搞定了,参照了这个教程,综合了WIDGET_NumPad和WIDGET_Edit两个案例。
Edit控件跟其他控件不太一样,一旦聚焦了,则所有按键消息都会在其中,而类似于LISTVIEW这种控件,不响应的消息它会放过,窗口可以接受到。
我的解决办法是,通过自建回调函数解决,在EDIT回调函数里面判断键值,然后进行相关的命令
WM_SetCallback(hEdit, _cbEdit);
假设要回到EDIT所在的窗口,则WM_DisableWindow控件自己即可,然后再在窗口中进一步处理,比如按“下键”到下一个EDIT。
最后的效果比我想象的要好~~有空再分享下

谢谢硬汉哥,周末愉快~
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2017-8-5 10:56:01 | 显示全部楼层

回 mumuha 的帖子

mumuha:终于搞定了,参照了这个教程,综合了WIDGET_NumPad和WIDGET_Edit两个案例。
Edit控件跟其他控件不太一样,一旦聚焦了,则所有按键消息都会在其中,而类似于LISTVIEW这种控件,不响应的消息它会放过,窗口可以接受到。
我的解决办法是,通过自建回调函数解决,在EDIT回调函数里面 .. (2017-08-04 18:12) 
[s:130]
回复

使用道具 举报

13

主题

156

回帖

215

积分

高级会员

积分
215
发表于 2017-12-27 21:14:42 | 显示全部楼层
WIDGET_Effect_3D;
WIDGET_Effect_3D1L;
WIDGET_Effect_3D2L; 版主,这三个有什么区别?
回复

使用道具 举报

13

主题

156

回帖

215

积分

高级会员

积分
215
发表于 2017-12-27 21:28:35 | 显示全部楼层
本帖最后由 本五心 于 2017-12-27 21:30 编辑

版主再问个问题,你们一般是怎么设计UI的?在搞一款产品,UI没灵感能给支个招不,谢谢了!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2017-12-28 01:33:58 | 显示全部楼层
本五心 发表于 2017-12-27 21:28
版主再问个问题,你们一般是怎么设计UI的?在搞一款产品,UI没灵感能给支个招不,谢谢了!

先让美工把界面布局弄好,然后我们开发就行。我们自己布局太辛苦,而且审美有限。
回复

使用道具 举报

0

主题

14

回帖

14

积分

新手上路

积分
14
发表于 2017-12-28 09:32:08 | 显示全部楼层
eric2013 发表于 2017-12-28 01:33
先让美工把界面布局弄好,然后我们开发就行。我们自己布局太辛苦,而且审美有限。

我测试这个例子的时候发现显示银行卡那几个图片颜色有点错误,armfly的图片显示正确。
我看银行卡图片的格式是BGR的,这个地方需要注意什么么?先谢谢硬汉!!!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2017-12-28 11:21:27 | 显示全部楼层
creep 发表于 2017-12-28 09:32
我测试这个例子的时候发现显示银行卡那几个图片颜色有点错误,armfly的图片显示正确。
我看银行卡图片的 ...

自己移植的emWin吗,是不是基于F429的。
回复

使用道具 举报

0

主题

14

回帖

14

积分

新手上路

积分
14
发表于 2017-12-28 15:56:04 | 显示全部楼层
eric2013 发表于 2017-12-28 11:21
自己移植的emWin吗,是不是基于F429的。

769-discovery上自己移植的emWIN。
回复

使用道具 举报

56

主题

904

回帖

1072

积分

至尊会员

积分
1072
发表于 2018-4-20 21:41:14 | 显示全部楼层
mumuha 发表于 2017-8-4 18:12
终于搞定了,参照了这个教程,综合了WIDGET_NumPad和WIDGET_Edit两个案例。
Edit控件跟其他控件不太一样, ...

你的分享呢。。。 这个软键盘各种问题啊。。没看到过一个满意的。。比如拖动啊。聚焦啊,光标之类的问题。。。
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-9-29 17:09:41 | 显示全部楼层
case WM_PAINT:
                        _PaintFrame();
                        GUI_DispStringHCenterAt(_GetLang(TEXT_ID_AUSWAHL_TREFFEN), FRAME_WIDTH >> 1, 15);
                        break;
TEXT_ID_AUSWAHL_TREFFEN这个字符串在哪定义的,我找了半天没看到有字体的信息
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2020-9-30 10:13:02 | 显示全部楼层
zxc19970106 发表于 2020-9-29 17:09
case WM_PAINT:
                        _PaintFrame();
                        GUI_DispStringHCenterAt(_GetLang(TEXT_ID_AUSWAHL_TREFFEN), FRA ...

全工程检索。
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-10-13 14:58:22 | 显示全部楼层

只看到这些宏定义,文字信息是怎么放进去的?
微信图片_201.png
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-10-17 10:15:23 | 显示全部楼层

这个文字是用TEXT控件显示出来的吗
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-10-30 11:14:40 | 显示全部楼层
eric2013 发表于 2017-2-7 16:50
是的,随意输入4个就认为正确。

硬汉哥这个中英文切换怎么是有窗口覆盖在上面才会显示英文
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-12-10 10:40:16 | 显示全部楼层
eric2013 发表于 2017-2-7 16:50
是的,随意输入4个就认为正确。

硬汉哥,那按这种方式的话可以获取到键盘输入的值吗?我想弄个判断,比较输入的数字与我设定的数字是否一致,从而实现密码登录的效果
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-12-11 14:39:00 | 显示全部楼层
大神,视频链接在哪?怎么看不到
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2020-12-12 01:37:24 | 显示全部楼层
zxc19970106 发表于 2020-12-11 14:39
大神,视频链接在哪?怎么看不到

优酷取消外置在线方式后,无法正常显示了,已经补上链接
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2021-1-5 17:28:48 | 显示全部楼层
eric2013 发表于 2020-12-12 01:37
优酷取消外置在线方式后,无法正常显示了,已经补上链接

硬汉哥,怎么设置小键盘的大小啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-26 19:55 , Processed in 0.297278 second(s), 34 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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