硬汉嵌入式论坛

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

STemWin多窗口在WM_PAINT中没有填充背景色!

[复制链接]

45

主题

70

回帖

205

积分

高级会员

积分
205
发表于 2018-5-31 10:10:41 | 显示全部楼层 |阅读模式
创建一个窗口必须在其case WM_PAINT中GUI_Clear()背景色吗。我发现在我没有clear的时候它会copy另一个窗口的背景。
举个例子:创建了3个Hwin1,Hwin2,Hwin3,并分别它们子窗口Cwin1,Cwin2,Cwin3。
我发现在Cwin1的回调函数中的WM_PAINT项中,我屏蔽了  GUI_SetBkColor(color);     GUI_Clear();它会自动copy Cwin2的背景。当我把Cwin2的也屏蔽了,它会copyCwin3的。
当我把Hwin1的屏蔽了,它会自动copyHwin2的。

我想要的效果是Hwin1只显示背景,Cwin1没有背景,只显示数值信息。有什么好的办法实现吗,或者看哪一章教程!谢谢了!


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107610
QQ
发表于 2018-5-31 10:16:50 | 显示全部楼层
特别注意GUI_Clear的前提,他清的就是你GUI_SetBkColor设置颜色,所以要清屏就务必要正确设置背景色。

Cwin1没有背景,只显示数值信息,这种要求的话,只显示一个TEXT文本控件不就可以了。TEXT控件的本质就是窗口。
回复

使用道具 举报

45

主题

70

回帖

205

积分

高级会员

积分
205
 楼主| 发表于 2018-6-1 12:05:19 | 显示全部楼层
那TEXT控件不能直接显示浮点数吧,还得把用sprintf把数字转换为字符形式。
回复

使用道具 举报

45

主题

70

回帖

205

积分

高级会员

积分
205
 楼主| 发表于 2018-6-1 12:05:58 | 显示全部楼层
eric2013 发表于 2018-5-31 10:16
特别注意GUI_Clear的前提,他清的就是你GUI_SetBkColor设置颜色,所以要清屏就务必要正确设置背景色。

C ...

那TEXT控件不能直接显示浮点数吧,还得把用sprintf把数字转换为字符形式。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107610
QQ
发表于 2018-6-1 12:08:57 | 显示全部楼层
chinashaoshu 发表于 2018-6-1 12:05
那TEXT控件不能直接显示浮点数吧,还得把用sprintf把数字转换为字符形式。

对,特别推荐使用sprintf实现,使用这个函数的优势很多,用户就不需要掌握emWin中各种各样的浮点,16进制,10进制等字符显示API函数。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 01:08 , Processed in 0.159490 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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