OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3446|回复: 3

EMWIN怎样才能在Framewin窗口下能显示位图

[复制链接]

7

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2017-4-27
在线时间
25 小时
发表于 2020-7-9 14:53:20 | 显示全部楼层 |阅读模式
1金钱
EMWIN怎样才能在Framewin窗口下能显示位图

最佳答案

查看完整内容[请看2#楼]

在EMWIN中建立窗口后,不在WM_PAINT下显示字符串或者显示位图的话是不能显示出来的。搜了很多资料解释说是因为建立的窗口将桌面背景覆盖了,直接使用GUI_DrawBitmap()显示位图是在桌面背景上显示的,所以显示出来的位图是看不见的。后来我在WM_PAINT下进行显示位图,位图信息需要更新的话就通过WM_InvalidateRect()将显示位图的区域进行无效话,这样竟可以进行位图更新。可是这样每次更新位图的时候WM_InvalidateRect()会将 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2017-4-27
在线时间
25 小时
 楼主| 发表于 2020-7-9 14:53:21 | 显示全部楼层
在EMWIN中建立窗口后,不在WM_PAINT下显示字符串或者显示位图的话是不能显示出来的。搜了很多资料解释说是因为建立的窗口将桌面背景覆盖了,直接使用GUI_DrawBitmap()显示位图是在桌面背景上显示的,所以显示出来的位图是看不见的。后来我在WM_PAINT下进行显示位图,位图信息需要更新的话就通过WM_InvalidateRect()将显示位图的区域进行无效话,这样竟可以进行位图更新。可是这样每次更新位图的时候WM_InvalidateRect()会将位图显示区域填充上背景颜色,造成每次更新位图会有闪烁。使用WM_SelectWindow()选择需要创建的窗口为当前绘制窗口,就可以不用在WM_PAINT下显示了。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2020-7-10 02:04:14 | 显示全部楼层
帮顶
回复

使用道具 举报

1

主题

38

帖子

0

精华

高级会员

Rank: 4

积分
650
金钱
650
注册时间
2020-5-17
在线时间
121 小时
发表于 2020-7-15 15:14:50 | 显示全部楼层
GUI_DrawBitmap
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 15:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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