嵌入式学习小组
直播中

张昂笙

8年用户 1007经验值
私信 关注

使用ucgui的函数WM_MoveWindow时出现闪烁怎么办?

使用103时,出现闪烁,一开始以为是速度问题,更换407,移植ucgui例程,WM_MoveWindow()移动窗口时,上面的字体还是会出现闪烁。不知道是否有高人解决这个问题没。。。

回帖(3)

姬中岩

2020-4-23 09:27:26
帮顶
举报

h1654155275.5771

2020-4-23 09:46:38
当调用WM_MoveWindow()时,会出发WM_PAINT消息,当移动像BUTTON之类的控件时,会调用_Pain(),这个函数总是先擦除BUTTON控件内的字体,之后再重新写入字体。如果BackColor设置为黑色的话,这样每次处理就会这样,先将控件上的背景设置为黑色,再在控件内写入字体。重复调用,就会是 黑->字体->黑->字体。。。。。。,这就闪烁了。
不知道不擦除,直接覆盖会不会闪烁,晚上回去试一下。
举报

于姝斐

2020-4-23 09:56:23
直接覆盖的时候会出现重影。
UCGUI提供的API还是不能满足所有的需求,有些功能还是得自己动手写。对于闪烁这种现象,还是要自己动手写一些函数来处理。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分