硬汉嵌入式论坛

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

[emWin] emwin背景桌面图片上显示电量符号问题

[复制链接]

6

主题

41

回帖

59

积分

初级会员

积分
59
发表于 2017-5-11 17:34:33 | 显示全部楼层 |阅读模式
各位我在WM_HBKWIN桌面回调函数WM_PAINT里面刷新壁纸图和图片上的电量符号,现在遇到一个问题:
如果我先刷新电量符号再刷新背景图片 会造成电量符号被覆盖掉,故此方法不能使用。
如果我先刷新背景图片再刷新电量符号。那么会出现一个问题:比如电量是4四格,我要显示一格电量。 会用调用一次 GUI_FillRect()填充第一格矩形 调用三次GUI_ClearRect() 清除后三格矩形,但是次三格的壁纸背景色也被清除了,请问有什么好办法保留壁纸背景色吗? QQ图片20170511173158.png
回复

使用道具 举报

6

主题

41

回帖

59

积分

初级会员

积分
59
 楼主| 发表于 2017-5-11 17:35:48 | 显示全部楼层
case WM_PAINT:
   
            
            GUI_DrawBitmap(&bmbk, 0, (240- bmbk.YSize) / 2);
                 GUI_ShowBattery(280,10,GUI_BLUE ,1);

    break;
  }背景和电池刷新
回复

使用道具 举报

6

主题

41

回帖

59

积分

初级会员

积分
59
 楼主| 发表于 2017-5-12 10:47:15 | 显示全部楼层
这个问题解决了。调用WM_InvalidateRect(WM_HBKWIN,&rect);和定时器刷新即可,但是这样定时器会周期刷新桌面无效区域,新创建窗口后效率很低,有没有什么办法让我在桌面创建新的窗口后不刷新此区域?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115733
QQ
发表于 2017-5-12 11:06:28 | 显示全部楼层
建议新创建一个窗口,我们的这个F429综合Demo,我就是新创建了一个状态栏窗口和一个信息栏窗口,管理方便,方便以后更新。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=17330
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 07:08 , Processed in 0.255726 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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