硬汉嵌入式论坛

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

请问如何用按键选择ICONVIEW 中的图标?

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2021-12-17 17:11:40 | 显示全部楼层 |阅读模式
请问如何用按键选择ICONVIEW 中的图标?硬汉哥的那智能家居中的按键选择ICONVIEW 中图标的程序,最后按键的消息在哪个程序处理的?我在maintask中只看到 ”MSG_Delect“消息的处理,还有其它GUI_KEY_UP,GUI_KEY_DOWN,GUI_KEY_LEFT,GUI_KEY_RIGHT,MSG_SetENTER等消息在哪处理的?


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-12-17 19:52:21 | 显示全部楼层
这些消息在main.c文件里面实现的,有个专门的按键消息处理任务。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2021-12-17 20:22:30 | 显示全部楼层
那我看了,我现在不明白的是,按键发出的GUI_KEY_UP,GUI_KEY_DOWN,GUI_KEY_LEFT,GUI_KEY_RIGHT,MSG_SetENTER这些消息的在哪处理的?我在maintask中只看到 ”MSG_Delect“消息的处理,其它的上述消息没找到对应处理的地方,还望指点!谢谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-12-18 00:33:01 | 显示全部楼层
控件被聚焦的情况下,键盘消息优先发给控件,然后才发给窗口回调消息中的WM_KEY


比如当前是聚焦到按钮控件,如果用户调用函数GUI_SendKeyMsg(GUI_KEY_ENTER, 1);
那么此消息会被按钮控件所相应,因为按钮控件支持这个消息,而其它按钮控件不支持的消息,会被回调函数中的WM_KEY消息所响应。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2021-12-18 23:13:53 | 显示全部楼层
请问您智能家居的MainTask.c中的                         case JOY_DOWN_D:                       
                                                                GUI_SendKeyMsg(GUI_KEY_DOWN, 1); 用来实现ICONVIEW 中选项的下移,我不明白的是,这是一个发送消息的语句,它是怎么实现实现ICONVIEW 中选项的下移的?是这个消息本身就已经代表了下一个选项还是其他收到这个消息的地方在处理?谢谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-12-19 08:13:24 | 显示全部楼层
zgy1zgy 发表于 2021-12-18 23:13
请问您智能家居的MainTask.c中的                         case JOY_DOWN_D:                       
                                                                GUI_SendKeyMsg(G ...

ICONView的自己的回调消息。他本身也有个默认的回调消息,是emWin封装起来了,这么说是不是好理解很多。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2021-12-20 20:19:21 | 显示全部楼层
我想用按键控制ICONVIEW 中的图标的选择,应该怎么让按键和ICONVIEW 中的图标联系起来呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-12-21 08:48:30 | 显示全部楼层
zgy1zgy 发表于 2021-12-20 20:19
我想用按键控制ICONVIEW 中的图标的选择,应该怎么让按键和ICONVIEW 中的图标联系起来呢?

不需要用户管的玩法是我做的聚焦到控件ICONVIEW上即可,然后它支持的上下左右消息都可以自动出来。

需要用户管的玩法是发送自定义窗口消息,注意是窗口消息不是按键消息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 06:23 , Processed in 0.244793 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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