硬汉嵌入式论坛

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

[emWin] TEXT_SetText闪屏解决方法

[复制链接]

28

主题

130

回帖

214

积分

高级会员

积分
214
发表于 2023-8-4 14:51:32 | 显示全部楼层 |阅读模式
本帖最后由 logo 于 2023-8-4 14:58 编辑

我在对话框回调函数WM_TIMER消息里使用TEXT_SetText函数刷新数据显示会闪屏,也参考了这个文章https://blog.csdn.net/qq_41930631/article/details/118546326
但是我测试没有用。



[C] 纯文本查看 复制代码
case WM_TIMER:
    TEXT_SetText();
    GUI_Exec();



最后我的解决方式是直接用GUI_DispStringAt函数显示就好了。
[C] 纯文本查看 复制代码
case WM_TIMER:
    GUI_DispStringAt();





我对比了下发现当采用TEXT_SetText();方式时,GUI_Exec();这一句执行后,会立马进入case WM_PAINT:,在进入case WM_PAINT:时候屏幕其他的我不想被更新的地方也已经被清空了,然后再自动显示出来,这样就形成了闪屏。但是 GUI_DispStringAt();却不会产生 WM_PAINT消息,不会去清空其他地方显示的内容。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-4 15:43:48 | 显示全部楼层
使用控件闪烁的话,应该是你在GUI_Init前没有开启窗口使用存储设备吧,可以开启下

  WM_SetCreateFlags(WM_CF_MEMDEV);

  GUI_Init();
回复

使用道具 举报

28

主题

130

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2023-8-4 19:09:05 | 显示全部楼层
eric2013 发表于 2023-8-4 15:43
使用控件闪烁的话,应该是你在GUI_Init前没有开启窗口使用存储设备吧,可以开启下

  WM_SetCreateFlags( ...

矛盾点在于设置存储设备以后整个画面变成了拉窗帘效果,直接GUI_DispStringAt屏幕看不到拉窗帘效果。我用的fsmc驱动tft屏幕
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-5 08:29:06 | 显示全部楼层
logo 发表于 2023-8-4 19:09
矛盾点在于设置存储设备以后整个画面变成了拉窗帘效果,直接GUI_DispStringAt屏幕看不到拉窗帘效果。我用 ...

这种现象不正常,可能你的驱动有点问题。
回复

使用道具 举报

28

主题

130

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2023-8-5 14:13:51 | 显示全部楼层
eric2013 发表于 2023-8-5 08:29
这种现象不正常,可能你的驱动有点问题。

我的驱动跑emwin 自带的demo都很溜的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-7 01:15:16 | 显示全部楼层
logo 发表于 2023-8-5 14:13
我的驱动跑emwin 自带的demo都很溜的

分享个完整点的代码,我帮你测试下。
回复

使用道具 举报

28

主题

130

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2023-8-22 09:42:08 | 显示全部楼层
eric2013 发表于 2023-8-7 01:15
分享个完整点的代码,我帮你测试下。

最新进展我发现

如果用



TEXT_SetBkColor函数设置TEXT背景颜色的话,之前闪屏区域的颜色也都被设置了。但是正常情况下应该只设置我需要设置的TEXT的背景颜色,不知道为什么会影响到其他区域的背景。
当然我设置过需要设置的TEXT背景颜色以后,执行完下面的代码后我最后又把TEXT背景颜色设置回来了,不知道为啥还会影响到其他地方。

[C] 纯文本查看 复制代码
TEXT_SetBkColor();
TEXT_SetText();
GUI_Exec();

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-22 17:56:48 | 显示全部楼层
logo 发表于 2023-8-22 09:42
最新进展我发现

如果用

方便的话,还是分享点程序,我测试下。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 03:49 , Processed in 0.256878 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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