硬汉嵌入式论坛

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

[emWin] WM_SetCreateFlags和GUI_Init的先后问题

[复制链接]

19

主题

72

回帖

129

积分

初级会员

积分
129
发表于 2020-5-6 16:24:34 | 显示全部楼层 |阅读模式
程序带有显示和触摸, 移植了STemwin5.44,使用了窗口管理器,有四个图标,每个图标都可以点进入下一个界面。



1. WM_SetCreateFlags(WM_CF_MEMDEV)函数在GUI_Init()函数之后调用,程序都是正常,唯一的缺点就是主界面刷新有点慢;


2. WM_SetCreateFlags(WM_CF_MEMDEV)函数在GUI_Init()函数之前调用,点击触摸屏的空白处(这里的空白处就是“不是四个图标的区域”),界面直接紊乱了,不知道是哪里的处理导致了这种现象。








回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-5-6 16:39:34 | 显示全部楼层
WM_SetCreateFlags(WM_CF_MEMDEV)放在前面,桌面窗口也会使用存储设备。
回复

使用道具 举报

19

主题

72

回帖

129

积分

初级会员

积分
129
 楼主| 发表于 2020-5-6 16:42:08 | 显示全部楼层
eric2013 发表于 2020-5-6 16:39
WM_SetCreateFlags(WM_CF_MEMDEV)放在前面,桌面窗口也会使用存储设备。

我就是为了让主界面的刷新速度快一点,所以将WM_SetCreateFlags(WM_CF_MEMDEV)放在前面,但是连带的出现了触摸空白处,界面乱的问题。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-5-6 16:51:35 | 显示全部楼层
将你的桌面窗口也做重绘就好了。
回复

使用道具 举报

19

主题

72

回帖

129

积分

初级会员

积分
129
 楼主| 发表于 2020-5-6 17:42:54 | 显示全部楼层
eric2013 发表于 2020-5-6 16:51
将你的桌面窗口也做重绘就好了。

        case WM_PAINT:
//            if (sel < gui_module_get_number())
                {
                GUI_SetBkColor(GUI_MAKE_COLOR(0x00ED9564));
                GUI_Clear();
                }
            break;


取消掉if判断,功能就正常了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-5-6 18:13:37 | 显示全部楼层
血染风采2017 发表于 2020-5-6 17:42
case WM_PAINT:
//            if (sel < gui_module_get_number())
                {

好的,还有什么问题了再交流。
回复

使用道具 举报

19

主题

72

回帖

129

积分

初级会员

积分
129
 楼主| 发表于 2020-5-6 18:26:15 | 显示全部楼层
eric2013 发表于 2020-5-6 18:13
好的,还有什么问题了再交流。

多谢硬汉哥。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 22:20 , Processed in 0.347856 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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