硬汉嵌入式论坛

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

[emWin] 发布一个求助,关于多层窗口的

[复制链接]

5

主题

47

回帖

62

积分

初级会员

积分
62
发表于 2018-5-21 09:11:48 | 显示全部楼层 |阅读模式
我现在要做一个多层窗口的显示,我想步骤是:先做一个背景window,它是第一层,然后其他的窗口作为第二层,显示在第一层之上。第二层的窗口有多个,且所有的第二层全部是透明窗口,并在第二层窗口里显示数值,绘制按钮等控件。Framewin的Dialog因为有标题栏和边沿栏,所以我不打算用它。



因为刚用emwin不久,所以不知道如何架构,也不知道我的这个想法是不是能实现。在这里向各位诚挚求助。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-21 09:15:19 | 显示全部楼层
回复

使用道具 举报

5

主题

47

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2018-5-21 09:47:03 | 显示全部楼层
本帖最后由 xyzjacky 于 2018-5-22 09:27 编辑

类似你提到的,这种请看这张图片。他做的效果里,用了Framewin,但我的是只用window做。
我要做的,底层的图片不用变动,上一层的窗口中,会有数值、文本、图案的变动。这是一个示例性的,实际我要使用的图片没有这样的一整块白色底,而是一个复杂的画面,所以我就尝试用透明窗口来做。比如这张图片中的显示的时钟和日历部分,它的底色就是一个复杂的画面。

再比如图片中的温度、湿度、风量、系统信息、设置,他们作为首页显示内容,打算把它们做在一个窗口。
然后当选中系统信息时,首页内容就被隐藏,然后背景图片不变,画面的中间部分由第3个窗口,显示系统信息的相关内容。

示例

示例


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-21 12:30:22 | 显示全部楼层
xyzjacky 发表于 2018-5-21 09:47
类似你提到的,这种请看这张图片。他做的效果里,用了Framewin。
我要做的,底层的图片不用变动,上一层 ...

你的图片没有上传成功。
回复

使用道具 举报

5

主题

47

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2018-5-21 14:33:21 | 显示全部楼层
本帖最后由 xyzjacky 于 2018-5-22 09:25 编辑

这下能看到不?
这是一个示例性的,实际我要使用的图片没有这样的一整块白色底,而是一个复杂的画面,所以我就尝试用透明窗口来做。



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-21 17:45:36 | 显示全部楼层

你的图片上传之前应该是可以看的,但是过一会百度会限制权限,显示无法查看此图片,微信和新浪都是这样。
建议直接截个图上传就行。
回复

使用道具 举报

5

主题

47

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2018-5-22 09:22:55 | 显示全部楼层
本帖最后由 xyzjacky 于 2018-5-22 09:29 编辑
eric2013 发表于 2018-5-21 17:45
你的图片上传之前应该是可以看的,但是过一会百度会限制权限,显示无法查看此图片,微信和新浪都是这样。 ...

我已经改过来了,就在上传第一张图的那一个回帖处,包括文字说明,我也作了补充修改。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-22 09:33:13 | 显示全部楼层
xyzjacky 发表于 2018-5-21 09:47
类似你提到的,这种请看这张图片。他做的效果里,用了Framewin,但我的是只用window做。
我要做的,底层 ...

可以看到图片了。

我的设计思路是这样的。你将整个背景做成一个图片。然后这个图片是放在窗口里面的WM_PAINT消息里面重绘即可。然后文字的显示使用文本控件TEXT。而图标的显示使用按钮自定义回调函数实现。

如果你要点击图片弹出新的窗口,新窗口回调函数的WM_PAINT消息里面也是绘制这个背景图片即可。

不知道这样做是否满足你的需求。
回复

使用道具 举报

5

主题

47

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2018-5-22 09:55:28 | 显示全部楼层
就是说,我想在桌面窗口里显示静态图片,其他的窗口作为桌面窗口的子窗口、孙窗口(桌面窗口是默认就有的),这些子孙窗口是透明窗口。另外这些子孙窗口我是想用window的,而不是Framewin的。




这里再分享一个我做好的STemWin的demo代码的运行效果的视频。
本人用的设备的MCU:STM32F103RET6,ILI9341驱动的2.8寸TFT屏,接口是SPI的。
这些底层的准备工作我都做得差不多了,但就是不知道如何去架构我想要得东西(桌面窗口里显示静态图片)


回复

使用道具 举报

5

主题

47

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2018-5-22 09:56:27 | 显示全部楼层
eric2013 发表于 2018-5-22 09:33
可以看到图片了。

我的设计思路是这样的。你将整个背景做成一个图片。然后这个图片是放在窗口里面的WM ...

我大概明白你的意思了。先谢过。我琢磨琢磨,在写一两个测试代码后,再来向您请教。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-22 13:54:48 | 显示全部楼层
xyzjacky 发表于 2018-5-22 09:55
就是说,我想在桌面窗口里显示静态图片,其他的窗口作为桌面窗口的子窗口、孙窗口(桌面窗口是默认就有的), ...

外壳设计的挺好的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 14:52 , Processed in 0.332083 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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