硬汉嵌入式论坛

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

[emWin] 怎么绘制有透明属性的窗口

[复制链接]

9

主题

19

回帖

46

积分

新手上路

积分
46
发表于 2015-10-21 09:35:09 | 显示全部楼层 |阅读模式
我们创建对话框的时候,每一个小工具后面都有个属性,要么透明,要么隐藏,显示等属性,而且我看emwin手册说绘制透明属性的窗口,是wm自动管理的,如图

QQ图片20151021091935.jpg
QQ图片20151021091947.png

那我想在桌面上创建个子对话框,对话框里有按钮,如图
QQ图片2.png
window小工具我标明了透明,其实不管我标注成什么,绘制出来的都是正常的不透明的样子
QQ图片20151.jpg
这个对话框里的listvie是点击上面按钮创建的,我希望那灰色的window小工具透明,然后可以漏出来桌面的颜色,我应该怎么做???或者也有可能不是这样创建对话框的,折腾了好几天了,求救,谢谢各位,我没有铜币,暂时没法答谢各位
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2015-10-21 12:39:57 | 显示全部楼层
在对话框的回调函数的WM_PAINT消息里面做如下处理:
case WM_PAINT:
      GUI_SetAlpha(0x80);                 // Set alpha value for drawing operations  根据透明程度设置数值
      GUI_SetBkColor(0xAAAAAA); // Draw gray background...
      GUI_Clear();                                // ...with alpha blending
      GUI_SetAlpha(0);                        // Set alpha value to default   恢复默认,完全不透明


另外可以参考官方的这个例子:http://www.armbbs.cn/forum.php?mod=viewthread&tid=5606
回复

使用道具 举报

9

主题

19

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2015-10-21 21:54:01 | 显示全部楼层
我的问题解决了,晚上跑回家一试马上成功,可是在公司怎么弄都不行,公司和家里的vc模拟器版本不一样,公司的好像是2.2的,我家里的是2.6的,不知道是不是模拟器的问题,那以后做界面的时候还要小心了,如果模拟器有问题是很误导人的。我明天去公司再次验证一下是不是模拟器有问题。还要感谢eric  大哥,你提供的样例很有用
回复

使用道具 举报

7

主题

38

回帖

59

积分

初级会员

积分
59
发表于 2015-10-22 22:30:11 | 显示全部楼层
亲,能把STemwin仿真软件发我一份么
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2015-10-23 00:07:27 | 显示全部楼层

回 zhoulei 的帖子

zhoulei:亲,能把STemwin仿真软件发我一份么 (2015-10-22 22:30) 
模拟器吗,下载这个就是,最新版本的:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=11895

另外这个模拟器软件可以使用VC6.0,这个是超精简版本,非常好用:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=10428
回复

使用道具 举报

2

主题

3

回帖

2

积分

新手上路

积分
2
发表于 2016-11-7 13:28:35 | 显示全部楼层
能让那个listview透明么
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
发表于 2016-11-8 09:32:35 | 显示全部楼层

回 eric2013 的帖子

eric2013:在对话框的回调函数的WM_PAINT消息里面做如下处理:
case WM_PAINT:
      GUI_SetAlpha(0x80);                 // Set alpha value for drawing operations&n .. (2015-10-21 12:39) 
如果不在创建窗口时将窗口标记透明,那么管理器是不会刷新这个窗口后面的背景,有可能会造成界面刷新上的逻辑错误,所以还是加个透明标记比较好吧
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-3-15 12:26:25 | 显示全部楼层
你好,可以把主函数和回调函数截图发我看看啊,我也碰到这个问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-3-15 12:28:18 | 显示全部楼层
Fan超 发表于 2019-3-15 12:26
你好,可以把主函数和回调函数截图发我看看啊,我也碰到这个问题

二楼的官方方案就行,你可以先移植上测测。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-3-15 16:22:03 | 显示全部楼层
我把他的程序烧到我的板子上,我的库文件没有VNC的c文件,所以先注释掉了,然后有两个问题
1.透明界面上没有控件和文字
2.显示延迟,烧录成功到界面显示出来间隔了五六秒
请问是不是有啥配置不对?
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-3-15 16:31:59 | 显示全部楼层
eric2013 发表于 2019-3-15 12:28
二楼的官方方案就行,你可以先移植上测测。

把例程放到模拟器里运行就可以了,烧到自己板子上就不行,请问有哪里需要注意的配置吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-3-15 17:47:17 | 显示全部楼层
Fan超 发表于 2019-3-15 16:31
把例程放到模拟器里运行就可以了,烧到自己板子上就不行,请问有哪里需要注意的配置吗

是不是你程序模板的问题,仅上传你的emWin应用部分,我看下
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-3-15 19:34:52 | 显示全部楼层
公司电脑不能上网,如图
IMG20190315193130.jpg
IMG20190315193112.jpg
IMG20190315192642.jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-3-16 10:38:54 | 显示全部楼层
Fan超 发表于 2019-3-15 19:34
公司电脑不能上网,如图

方便的话,直接上传代码文件,要不没法测
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 00:30 , Processed in 0.388756 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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