硬汉嵌入式论坛

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

[emWin] 通过AppWizard设计具有顶部状态栏和底部按钮的应用页面

[复制链接]

44

主题

562

回帖

699

积分

金牌会员

积分
699
发表于 2023-8-22 10:24:07 | 显示全部楼层 |阅读模式

计划通过AppWizard设计具有顶部状态栏和底部按钮的应用页面,但是在AppWizard控件中视乎没有合适的状态栏和按钮应该的设计。没有什么好的方案思路,个人思路大概是采用window控件实现页面的三个部分,顶部状态栏一个window父控件,中间显示部分一个window父控件,底部按钮一个window父控件。
现在有几个问题还没有想到思路方案:
1、采用window控件来当做三个部分的父控件的方案是否合理,或还有哪种更合理的方案。
2、页面切换,参考了第二版emwin教程提款机应用,但是发现提款机案例是整个屏幕的页面切换,跟我需求的不太一样(当然我理解可能有错,实力不够)。
3、不同页面对外部按键的响应处理,外部按键有全局按键就是不管哪个页面都响应的,也有页面按键响应的。
4、顶部状态栏和底部按钮对应不同页面会显示不同内容,如何响应按键操作进行刷新显示内容。

1)应用需求
QQ截图20230822093655.png

2)三个window控件实现父控件
QQ截图20230822093739.png

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-22 11:24:58 | 显示全部楼层
1、合理
2、对,是整个页面,区别的地方是Windows窗口大小。
4、外部按键的话,可以发窗口自定义消息。

另外就是中间的显示区,可以提前都创建好,显示的调用Show函数,不显示的就Hide隐藏,你看看方便不。
回复

使用道具 举报

44

主题

562

回帖

699

积分

金牌会员

积分
699
 楼主| 发表于 2023-8-22 11:49:25 | 显示全部楼层
eric2013 发表于 2023-8-22 11:24
1、合理
2、对,是整个页面,区别的地方是Windows窗口大小。
4、外部按键的话,可以发窗口自定义消息。

另外就是中间的显示区,可以提前都创建好,显示的调用Show函数,不显示的就Hide隐藏,你看看方便不。就是对应窗口句柄进行Show和Hide,这个我也考虑过,外挂SDRAM有足够的内存空间。
现在比较疑惑的还是按键的响应,可能是对emwin不太熟悉吧。特别是针对那种全局按键就是在任何页面下都响应具有相同功能的操作,比如万用表的HOLD按键,还是不太理解页面如何去响应。按理解页面需要聚焦才能响应按键,还有的设置有关页面有很多需要编辑操作的控件,如何处理页面聚焦和控件聚焦问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-22 17:06:28 | 显示全部楼层
ou513 发表于 2023-8-22 11:49
另外就是中间的显示区,可以提前都创建好,显示的调用Show函数,不显示的就Hide隐藏,你看看方便不。就是 ...

聚焦的方式太麻烦。要处理控件的聚焦问题。

发送窗口自定义消息比较省事,此贴就是个这种应用:

第5期:监护仪界面设计
https://www.armbbs.cn/forum.php?mod=viewthread&tid=5599
回复

使用道具 举报

44

主题

562

回帖

699

积分

金牌会员

积分
699
 楼主| 发表于 2023-8-22 17:40:59 | 显示全部楼层
eric2013 发表于 2023-8-22 17:06
聚焦的方式太麻烦。要处理控件的聚焦问题。

发送窗口自定义消息比较省事,此贴就是个这种应用:

好的,我学习一下。我也是想聚焦方式比较麻烦复杂,就是想弄个简单的按键处理方案。
另外AppWizard设计其他页面的时候,是不是顶部的状态栏和顶部按钮就不需要了,然后就是状态栏和按钮内容是通过页面操作发送一个刷新消息。
QQ截图20230822172356.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-22 17:50:34 | 显示全部楼层
ou513 发表于 2023-8-22 17:40
好的,我学习一下。我也是想聚焦方式比较麻烦复杂,就是想弄个简单的按键处理方案。
另外AppWizard设计 ...

对,可以的。
回复

使用道具 举报

33

主题

203

回帖

302

积分

高级会员

积分
302
发表于 2023-8-23 13:26:30 | 显示全部楼层
因为你下面的按钮不同页面功能不同,还不如每个页面都包含状态条和按钮条
回复

使用道具 举报

44

主题

562

回帖

699

积分

金牌会员

积分
699
 楼主| 发表于 2023-8-23 13:50:38 | 显示全部楼层
waterx3 发表于 2023-8-23 13:26
因为你下面的按钮不同页面功能不同,还不如每个页面都包含状态条和按钮条

也不是完全不同的,状态栏是全局通用的就如电脑的状态栏一样显示一些内容。按键有的页面会现在一样的,有的页面不同。感觉不太好做。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-23 16:15:28 | 显示全部楼层
ou513 发表于 2023-8-23 13:50
也不是完全不同的,状态栏是全局通用的就如电脑的状态栏一样显示一些内容。按键有的页面会现在一样的,有 ...

实际上这个界面效果,不使用AppWizard,使用GUIBuilder简单布局下,然后自己手动调用API,感觉更简单。
回复

使用道具 举报

44

主题

562

回帖

699

积分

金牌会员

积分
699
 楼主| 发表于 2023-8-23 16:49:19 | 显示全部楼层
eric2013 发表于 2023-8-23 16:15
实际上这个界面效果,不使用AppWizard,使用GUIBuilder简单布局下,然后自己手动调用API,感觉更简单。

其实项目已经基本完成了,用的是LVGL。但是感觉这LVGL对工控类产品并不好用耗资源速度提不上来,就想着改用emwin调试一个版本。想这AppWizard如果好用,弄起来快一点,没有多少时间。也试了一下GUIBuilder感觉用于布局也还比较简单方便,没有AppWizard高大上。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-24 01:15:03 | 显示全部楼层
ou513 发表于 2023-8-23 16:49
其实项目已经基本完成了,用的是LVGL。但是感觉这LVGL对工控类产品并不好用耗资源速度提不上来,就想着改 ...

对,GUIBuilder就是布局省点事。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 00:43 , Processed in 0.324580 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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