硬汉嵌入式论坛

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

[emWin] GUI_SendKeyMsg(GUI_KEY_ENTER, 1)不进入WM_NOTIFY_PARENT

[复制链接]

1

主题

8

回帖

22

积分

新手上路

积分
22
发表于 2017-11-12 12:16:19 | 显示全部楼层 |阅读模式
如题,我的主界面有4个按钮,通过实体按键发送GUI_SendKeyMsg(GUI_KEY_TAB, 1),会自己切换聚焦按钮,同时进入对话框的WM_NOTIFY_PARENT消息处理中,然后我发送GUI_SendKeyMsg(GUI_KEY_ENTER, 1)发现没反应,程序不会进入WM_NOTIFY_PARENT中,只会进入WM_KEY中(但我这里面没有对GUI_KEY_ENTER处理),正常情况下不应该进入WM_NOTIFY_PARENT中处理吗?另外,我看模拟器中电脑键盘是通过GUI_StoreKeyMsg实现的,但我换成GUI_StoreKeyMsg后还是进入不了WM_NOTIFY_PARENT中,求教,谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-11-12 12:52:44 | 显示全部楼层
估计你的工程模板有问题,如果界面有聚焦的控件,而且你发的按键消息是这个控件支持的,是不会再进入WM_KEY里面的。

可以使用我们新版emWin教程里面的工程模板,使用这个章节配套的例子就行,刚刚测试了一个没问题。
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=19834

QQ截图20171112124752.jpg
回复

使用道具 举报

1

主题

8

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2017-11-12 19:36:31 | 显示全部楼层
我再仔细了解一下,谢谢
回复

使用道具 举报

1

主题

8

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2017-11-13 00:53:44 | 显示全部楼层

回 eric2013 的帖子

eric2013:
估计你的工程模板有问题,如果界面有聚焦的控件,而且你发的按键消息是这个控件支持的,是不会再进入WM_KEY里面的。

可以使用我们新版emWin教程里面的工程模板,使用这个章节配套的例子就行,刚刚测试了一个没问题。
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=19834

.......
你好,我今天移植了你们的工程,用的是M3的lib,编译通过了,发现画点程序都不行,我觉得 是配置问题,我用的是单色屏,控制器是ST75256,这个应该是不支持的,请教一下关于 2.png LCD_CONTROLLER这个参数需要怎么改啊,我只是在LCDConfig.c中更改了画点和读点程序(也参考了您的单色屏的帖子),另外static void _SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, int PixelIndex)这个画点程序中GUI_DEVICE * pDevice是在哪体现(或者调用)的,谢谢!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-11-13 00:56:47 | 显示全部楼层

回 fengshao1370 的帖子

fengshao1370:你好,我今天移植了你们的工程,用的是M3的lib,编译通过了,发现画点程序都不行,我觉得 是配置问题,我用的是单色屏,控制器是ST75256,这个应该是不支持的,请教一下关于LCD_CONTROLLER这个参数需要怎么改啊,我只是在LCDConfig.c中更改了画点和读点程序( .. (2017-11-13 00:53) 
单色屏可以搞这个:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=1678
回复

使用道具 举报

1

主题

8

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2017-11-13 08:26:33 | 显示全部楼层
我是参考的您的这个例程,但是里面#define LCD_CONTROLLER            SSD1306 ,与我的控制器是不一样的,也就是我的是不支持的,这个宏定义要怎么改呢?以前移植ucgui3.90的时候是直接赋值的-1,这样就可以了,但是现在不知道在哪里调用了这个宏定义,所以猜测是画点程序就没有正确调用,请指教,谢谢!
回复

使用道具 举报

1

主题

8

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2017-11-13 08:27:14 | 显示全部楼层

回 eric2013 的帖子

eric2013:单色屏可以搞这个:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=1678 (2017-11-13 00:56) 
我是参考的您的这个例程,但是里面#define LCD_CONTROLLER            SSD1306 ,与我的控制器是不一样的,也就是我的是不支持的,这个宏定义要怎么改呢?以前移植ucgui3.90的时候是直接赋值的-1,这样就可以了,但是现在不知道在哪里调用了这个宏定义,所以猜测是画点程序就没有正确调用,请指教,谢谢!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-11-14 09:55:05 | 显示全部楼层

回 fengshao1370 的帖子

fengshao1370:我是参考的您的这个例程,但是里面#define LCD_CONTROLLER            SSD1306 ,与我的控制器是不一样的,也就是我的是不支持的,这个宏定义要怎么改呢?以前移植ucgui3.90的时候是直接赋值的-1,这样就可以了,但 .. (2017-11-13 08:27) 
这个定义没有任何影响,我们是采用的通用移植方法,你仅需设置好帖子中要求的那几个选项即可。
回复

使用道具 举报

1

主题

8

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2017-11-15 16:41:09 | 显示全部楼层

Re:回 fengshao1370 的帖子

eric2013:

这个定义没有任何影响,我们是采用的通用移植方法,你仅需设置好帖子中要求的那几个选项即可。
现在已经移植成功了,可是发现button按钮并没有聚焦的变化,同时控件也没有了3D的效果,代码是没有变化的,我设置了WIDGET_SetDefaultEffect(&WIDGET_Effect_3D);发现没有任何变化,难道是默认有皮肤?我是单色屏,所以不需要皮肤,请问能解释下是否是皮肤的问题吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-11-16 11:29:02 | 显示全部楼层

回 fengshao1370 的帖子

fengshao1370:

现在已经移植成功了,可是发现button按钮并没有聚焦的变化,同时控件也没有了3D的效果,代码是没有变化的,我设置了WIDGET_SetDefaultEffect(&WIDGET_Effect_3D);发现没有任何变化,难道是默认有皮肤?我是单色屏,所以不需要皮肤,请问能解释下是否是皮肤的问题吗?



.......
你创建一个对话框,显示一个按钮,这种情况下创建后的对话框聚焦就在这个按钮上面,你看看效果是不是这样的:
QQ截图20171116112318.jpg
回复

使用道具 举报

1

主题

8

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2017-11-16 17:08:56 | 显示全部楼层

回 eric2013 的帖子

eric2013:

你创建一个对话框,显示一个按钮,这种情况下创建后的对话框聚焦就在这个按钮上面,你看看效果是不是这样的:



.......
效果不是这样的,就是简单的图形,我用模拟器也试了一下,当我定义#define COLOR_CONVERSION GUICC_888的时候,是可以看到聚焦的,效果如下:
1.png ,但是当我定义#define COLOR_CONVERSION GUICC_1后,效果就如下:
2.png ,看不到聚焦的情况,但是其实是被选中的,因为我按enter键是有反应的。实际中液晶屏是单色的,所以效果跟下图一样。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-11-17 02:34:55 | 显示全部楼层

回 fengshao1370 的帖子

fengshao1370: (2017-11-16 17:08) 
关闭皮肤色看看,现在的版本已经自动使能皮肤色了,你可以关闭按钮的皮肤色,设置成经典色,在GUI_Init函数后就调用。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 20:32 , Processed in 0.049774 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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