硬汉嵌入式论坛

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

[emWin实例] 第4期:实体按键操作STemWin控件

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2014-3-6 20:39:03 | 显示全部楼层 |阅读模式
特别说明:pdf版60期emWin教程已经发布:
                  http://www.armbbs.cn/forum.php?mod=viewthread&tid=2932
                  2.  STM32-X2,X3,V2,V3,V5开发板裸机和带系统的emWin工程已经全部建立,链接如下:
                       http://www.armbbs.cn/forum.php?mod=viewthread&tid=1830

                  3.  STemWin实例是基于STM32-V5开发板,工程全部是裸机的,含IAR和MDK两个版本,版本不限制。
                       移植到到其它开发板上面也很方便,有不清楚的地方可发帖或者留言。

        应该广大网友的要求做一个实体按键操作STemWin的例子,在实际的项目中使用实体按键操作GUI的产品还挺多。
借此专门做一个相关的例子,这个例子主要是给大家提供一种思路,实际的使用中还会遇到各种各样的情况,争取以后
在论坛再发相关的例子时也配上实体按键操作,这样才能更好的拓展大家的思路。
   4.1 实体按键操作EDIT控件
   4.2 实验说明
   4.3 例子下载
   4.4 总结

4.1 实体按键操作EDIT控件
      查看5.22手册上面对EDIT控件的介绍,当前EDIT控件支持的按键响应如下:
3.png

实际按键对应的操作如下:
  1. switch (ucKeyCode)
  2.             {
  3.                 case KEY_DOWN_K1:            /* K1键按下 实现截图*/
  4.                     BSP_OS_SemPost(&SEM_SYNCH);   
  5.                     break;
  6.                 case KEY_DOWN_K2:            /* K2键按下 实现TAB按键的功能*/
  7.                     GUI_SendKeyMsg(GUI_KEY_TAB, 1);
  8.                     break;
  9.                 case KEY_DOWN_K3:            /* K3键按下 实现CANCEL的功能 */
  10.                     GUI_SendKeyMsg(GUI_KEY_ESCAPE, 1);
  11.                     break;
  12.                 case JOY_DOWN_U:            /* 摇杆UP键按下 实现删除字符功能,注意和BACKSPACE回格的区别*/
  13.                     GUI_SendKeyMsg(GUI_KEY_DELETE, 1);
  14.                     break;
  15.                 case JOY_DOWN_D:            /* 摇杆DOWN键按下 实现删除字符 */
  16.                     GUI_SendKeyMsg(GUI_KEY_BACKSPACE, 1);
  17.                     break;
  18.                 case JOY_DOWN_L:            /* 摇杆LEFT键按下 实现光标左移 */
  19.                     GUI_SendKeyMsg(GUI_KEY_LEFT, 1);
  20.                     break;
  21.                 case JOY_DOWN_R:            /* 摇杆RIGHT键按下 实现光标右移 */
  22.                     GUI_SendKeyMsg(GUI_KEY_RIGHT, 1);
  23.                     break;
  24.                 case JOY_DOWN_OK:            /* 摇杆OK键按下 实现OK */
  25.                     GUI_SendKeyMsg(GUI_KEY_ENTER, 1);
  26.                     break;
  27.                 default:
  28.                     /* 其它的键值不处理 */
  29.                     break;
复制代码
1.  K1按键实现的是TAB键的功能,主要是实现对话框上面控件的聚焦切换。
2. 其余的按键功能比较简单,实际操作下就明白了,上面的代码中也有响应的注释。
3. 尝试了一下自定义按键消息没有成功,后面再试试。
下面是对话框回调函数中,按键消息的处理:
  1. case WM_KEY:
  2.             switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
  3.             {
  4.                 case GUI_KEY_ESCAPE:
  5.                     GUI_EndDialog(hDlg, 1);
  6.                     break;
  7.                
  8.                 case GUI_KEY_ENTER:
  9.                     GUI_EndDialog(hDlg, 0);
  10.                     break;
  11.             }
  12.             break;
复制代码
4.2 实验说明
     本期实例实现一个如下的界面:
0.PNG

4.3 例子下载
      下载这个例子前请运行第1期实例中触摸校准程序,将校准参数保存到EEPROM里面。

第4期:实体按键操作STemWin控件.zip (12.54 MB, 下载次数: 12933)

4.3 总结
    本期例子主要讲了EDIT控件的使用,大家可以尝试操作其它控件
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
 楼主| 发表于 2014-3-6 22:10:59 | 显示全部楼层
例子已经做完。
回复

使用道具 举报

1

主题

68

回帖

1

积分

初级会员

积分
1
发表于 2014-3-7 08:53:42 | 显示全部楼层

回 eric2013 的帖子

eric2013:例子已经做完。 (2014-03-06 22:10) 
太好了,呵呵~~
我现在也弄完了,不过我还是想看看大神怎么弄的,学习一下新的思路,呵呵~~
等你代码了~~
回复

使用道具 举报

1

主题

68

回帖

1

积分

初级会员

积分
1
发表于 2014-3-7 09:12:18 | 显示全部楼层

回 eric2013 的帖子

eric2013:例子已经做完。 (2014-03-06 22:10) 
楼主,我还有个问题啊,当我用实体键关闭子窗口,但是父窗口上面按键就不能响应了,怎么处理一下啊?
回复

使用道具 举报

33

主题

203

回帖

302

积分

高级会员

积分
302
发表于 2014-3-7 13:50:28 | 显示全部楼层
没有焦点了
回复

使用道具 举报

1

主题

68

回帖

1

积分

初级会员

积分
1
发表于 2014-3-7 14:33:15 | 显示全部楼层

回 waterx3 的帖子

waterx3:没有焦点了 (2014-03-07 13:50) 
你给它重新聚焦就好  使用WM_SetFocus( hItemSubWinMain );就好。
回复

使用道具 举报

4

主题

81

回帖

4

积分

初级会员

积分
4
发表于 2014-3-7 14:56:56 | 显示全部楼层
辛苦![s:141] [s:141]
回复

使用道具 举报

41

主题

97

回帖

220

积分

高级会员

积分
220
发表于 2014-3-7 15:07:27 | 显示全部楼层
实用!
回复

使用道具 举报

1

主题

68

回帖

1

积分

初级会员

积分
1
发表于 2014-3-7 17:08:10 | 显示全部楼层
感谢楼主  呵呵
回复

使用道具 举报

79

主题

191

回帖

428

积分

高级会员

积分
428
发表于 2014-3-7 20:03:42 | 显示全部楼层
[s:151][s:151]
回复

使用道具 举报

16

主题

203

回帖

251

积分

高级会员

积分
251
发表于 2014-3-8 00:32:11 | 显示全部楼层
[s:152]  [s:151]
回复

使用道具 举报

2

主题

32

回帖

2

积分

新手上路

积分
2
发表于 2014-3-9 00:52:44 | 显示全部楼层
[s:143] [s:143] [s:143]
回复

使用道具 举报

17

主题

132

回帖

183

积分

初级会员

积分
183
发表于 2014-3-9 02:15:23 | 显示全部楼层
[s:151]
回复

使用道具 举报

0

主题

33

回帖

33

积分

新手上路

积分
33
发表于 2014-3-9 15:55:52 | 显示全部楼层
下载来看看,好东东
回复

使用道具 举报

1

主题

27

回帖

30

积分

新手上路

积分
30
发表于 2014-3-10 09:35:17 | 显示全部楼层
[s:151] [s:151] [s:151]
回复

使用道具 举报

0

主题

20

回帖

0

积分

新手上路

积分
0
发表于 2014-3-11 16:07:46 | 显示全部楼层
感謝分享..
回复

使用道具 举报

0

主题

9

回帖

0

积分

新手上路

积分
0
发表于 2014-3-12 17:32:14 | 显示全部楼层
谢谢
回复

使用道具 举报

0

主题

18

回帖

0

积分

新手上路

积分
0
发表于 2014-3-12 17:55:24 | 显示全部楼层
Thanks for all examples
Viktor
回复

使用道具 举报

15

主题

54

回帖

99

积分

初级会员

积分
99
发表于 2014-3-15 12:52:56 | 显示全部楼层
1111111111111
回复

使用道具 举报

2

主题

135

回帖

2

积分

初级会员

积分
2
发表于 2014-3-17 11:44:07 | 显示全部楼层
[s:150] [s:150] [s:150] [s:150] [s:151] [s:151] [s:151] [s:151]
回复

使用道具 举报

2

主题

27

回帖

2

积分

新手上路

积分
2
发表于 2014-3-22 22:39:54 | 显示全部楼层
[s:148]
回复

使用道具 举报

1

主题

12

回帖

1

积分

新手上路

积分
1
发表于 2014-3-29 01:28:03 | 显示全部楼层
good good good
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2014-3-30 10:37:15 | 显示全部楼层
感謝分享..
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

学习学习

积分
10
发表于 2014-3-30 12:49:23 | 显示全部楼层
学习
学习学习
回复

使用道具 举报

3

主题

25

回帖

3

积分

新手上路

积分
3
发表于 2014-3-30 16:45:43 | 显示全部楼层
good
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2014-4-1 22:21:42 | 显示全部楼层
正想要这按键处理
回复

使用道具 举报

0

主题

20

回帖

20

积分

新手上路

积分
20
发表于 2014-4-3 09:25:41 | 显示全部楼层
好!!!!!!!
回复

使用道具 举报

1

主题

30

回帖

1

积分

新手上路

积分
1
发表于 2014-4-4 09:33:10 | 显示全部楼层
下载下来看看,现在还没弄明白
回复

使用道具 举报

0

主题

47

回帖

47

积分

新手上路

积分
47
发表于 2014-4-4 13:43:11 | 显示全部楼层
[s:138]
回复

使用道具 举报

1

主题

31

回帖

34

积分

新手上路

积分
34
发表于 2014-4-6 21:35:34 | 显示全部楼层
谢谢
回复

使用道具 举报

4

主题

9

回帖

4

积分

新手上路

积分
4
发表于 2014-4-7 19:44:47 | 显示全部楼层
学习一下
回复

使用道具 举报

3

主题

19

回帖

28

积分

新手上路

积分
28
发表于 2014-4-14 17:12:50 | 显示全部楼层
好,学习了
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2014-4-18 16:26:21 | 显示全部楼层
正好需要这个
回复

使用道具 举报

2

主题

30

回帖

2

积分

新手上路

积分
2
发表于 2014-4-19 15:08:53 | 显示全部楼层
学习下 正好弄这个
回复

使用道具 举报

2

主题

30

回帖

2

积分

新手上路

积分
2
发表于 2014-4-19 15:32:01 | 显示全部楼层
版主 如何使EDIT1和EDIT2之间进行焦点切换啊
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
发表于 2014-4-22 01:41:31 | 显示全部楼层
学习学习
回复

使用道具 举报

0

主题

24

回帖

0

积分

新手上路

积分
0
发表于 2014-4-23 16:53:50 | 显示全部楼层
[s:151]  [s:151]
回复

使用道具 举报

2

主题

20

回帖

26

积分

新手上路

积分
26
发表于 2014-4-25 16:48:20 | 显示全部楼层
正是需要的东西。多谢硬汉[s:150]
回复

使用道具 举报

11

主题

63

回帖

101

积分

初级会员

积分
101
发表于 2014-4-25 18:56:30 | 显示全部楼层
[s:151] [s:151] [s:151] [s:151] [s:151] [s:151] [s:151] [s:151] 牛逼的楼主
回复

使用道具 举报

5

主题

19

回帖

5

积分

新手上路

积分
5
发表于 2014-5-3 09:16:56 | 显示全部楼层
刚好需要这个,谢谢楼主!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 23:47 , Processed in 0.334644 second(s), 34 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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