硬汉嵌入式论坛

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

[emWin] 第31章 键盘输入的疑问?

[复制链接]

6

主题

19

回帖

6

积分

新手上路

积分
6
发表于 2017-2-16 23:22:07 | 显示全部楼层 |阅读模式
本人是菜鸟,刚刚学习STemWin一个多月,看到《安富莱STM32-V5开发板STemWin教程》的第31章后有几点不解:
1、  根据大侠eric2013编写的第305页代码及注释“case KEY_DOWN_K1: /* K1键按下 实现截图*/”大侠的注释的意思是K1键是实现截图功能,但是到了第309页,又解释为K1按键实现的是TAB键的功能,这是不是矛盾呢?K1键到底实现什么功能?
2、  还是第305页的问题,case KEY_DOWN_K3:
GUI_SendKeyMsg(GUI_KEY_ESCAPE,1)
第二行代码函数GUI_SendKeyMsg()的作用是发送按键消息到窗口,在STemWin主任务第307页该按键消息处理的功能为:GUI_EndDialog(hDlg,1)关闭对话框。类似有代码case JOY_DOWN_OK: GUI_SendKeyMsg(GUI_KEY_ENTER,1);第307页也有按键消息的功能,但我的疑问是其它case语句,比如case JOY_DOWN_L: GUI_SendKeyMsg(GUI_KEY_LEFT,1);在STemWin主任务为什么没有像上面case那样有我们自己定义的消息处理代码?窗口为什么能够自动识别函数GUI_SendKeyMsg(GUI_KEY_LEFT,1)是让摇杆实现光标左移的?还是在哪个地方定义了GUI_KEY_LEFT实现光标左移的代码?难道第304页预定义的虚拟键盘码都定义了固定的功能了吗?
请大侠eric2013或其他高手赐教,本人不胜感激?[sub][/sub][sup][/sup][strike][/strike]
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2017-2-17 09:22:38 | 显示全部楼层
1.  估计是注释跟代码不匹配,注释没有修改过来,以实际程序代码为准。
2.  由于emWin是个库,已经将程序代码将其封装起来了,这个消息的处理是由窗口管理器完成的,而窗口管理器是通过函数GUI_Delay,GUI_Exec,WM_Exec等函数实现调用。
回复

使用道具 举报

6

主题

19

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2017-2-17 10:17:10 | 显示全部楼层
首先感谢eric2013大侠这么快给我回复,虽然我还是有点不明白,那么 GUI_SendKeyMsg(GUI_KEY_ESCAPE,1)这句是要我们自己定义消息GUI_EndDialog(hDlg,1)吗?还有大侠自行编写的ATM程序,case GUI_KEY_LEFT: WM_SetFocusOnPrevChild(hWin);这句代码表示按下GUI_KEY_LEFT键后,向前设置焦点。按照你上面给我解释,应该emWin库已经封装了代码,为什么我们还要WM_SetFocusOnPrevChild(hWin);这句呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2017-2-17 10:26:08 | 显示全部楼层

回 robot_w 的帖子

robot_w:首先感谢eric2013大侠这么快给我回复,虽然我还是有点不明白,那么 GUI_SendKeyMsg(GUI_KEY_ESCAPE,1)这句是要我们自己定义消息GUI_EndDialog(hDlg,1)吗?还有大侠自行编写的ATM程序,case GUI_KEY_LEFT: WM_SetFocusOnPrevChild(hWin);这句代码表示按下GUI_KEY_LEFT键后,向前设 .. (2017-02-17 10:17) 
回调函数里面是接口函数,需要实现什么功能就添在里面,什么都不写,就按照系统默认的执行。
回复

使用道具 举报

6

主题

19

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2017-2-17 10:45:44 | 显示全部楼层
[s:140] [s:141] ,原来如此,eric2013大侠,您解决了我多天的困扰,再次由衷的感谢您!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 20:20 , Processed in 0.268878 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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