OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 900|回复: 7

实体按键切换聚焦问题?

[复制链接]

  离线 

4

主题

13

帖子

0

精华

新手入门

积分
36
金钱
36
注册时间
2016-12-26
在线时间
13 小时
发表于 2017-2-26 12:54:41 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 RobotW123 于 2017-3-1 23:02 编辑

1、控件聚焦问题:怎样让控件(图中全部为Button控件)的焦点按照自己制定的方向切换,比如一上电,先聚焦在“主菜单”按钮,然后用左右键来切换到路径:
(1)保护状态→DSP采样值,从图上看用左右键切换还有三条路径分别为:(2)显示报告→动作报告;(3)打印报告→定值清单;(4)整定定值→装置参数;
其中从“保护状态”按钮切换到“显示报告”按钮用上下键切换;用上下键切换的路径还有以下几条:
(1)保护状态→显示报告→……→程序版本→退出;(大分支)
(2)DSP采样值→CPU采样值→……→开路显示→退出;
(3)动作报告→自检报告→……→退出;
(4)定值清单→动作报告→……→程序版本→退出;
(5)装置参数→保护定值→……→复制定值→退出;
其中当聚焦到上述第二分支的“退出”按钮时,按上下键不得聚焦到下路径的按钮(比如聚焦到第二条路径的“退出”按钮时,按上下键不得跳跃聚焦到第三条路径的“动作报告”按钮,其余类似),按所有的“退出”键,聚焦重新到“主菜单”按钮;用来切换聚焦的函数是:WM_SetFocusOnPrevChild(hWin)和WM_SetFocusOnNextChild(hWin),好像它们切换的只是按照一条特定路径而已,且程序按钮控件比较少,相对容易实现,但多条路径后就会不按自己设计的路径走了。假如按上面这么多的路径,该怎样编程呢?用什么函数实现?哪位大侠知道,本人不胜感激!!

最佳答案

查看完整内容[请看2#楼]

例如: .......... .......... .......... Top_hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0); //创建窗体 WM_SetFocus(WM_GetDialogItem(Top_hWin, GUI_ID_BUTTON1)); //聚焦于 GUI_ID_BUTTON1 按钮 .......... .......... ..........
回复

使用道具 举报

  离线 

8

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
915
金钱
915
注册时间
2016-5-31
在线时间
387 小时
发表于 2017-2-26 12:54:42 | 显示全部楼层
例如:      ..........
      ..........
      ..........


      Top_hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);  //创建窗体

      WM_SetFocus(WM_GetDialogItem(Top_hWin, GUI_ID_BUTTON1));         //聚焦于 GUI_ID_BUTTON1 按钮



      ..........
      ..........
      ..........
回复

使用道具 举报

  离线 

497

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
128098
金钱
128098
注册时间
2010-12-1
在线时间
1130 小时
发表于 2017-2-27 22:31:29 | 显示全部楼层
帮顶
回复

使用道具 举报

  离线 

8

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
915
金钱
915
注册时间
2016-5-31
在线时间
387 小时
发表于 2017-2-28 19:18:36 | 显示全部楼层
楼主出的悬赏金太少了,不然早就告诉你怎么实现了。哈哈!
回复

使用道具 举报

  离线 

4

主题

13

帖子

0

精华

新手入门

积分
36
金钱
36
注册时间
2016-12-26
在线时间
13 小时
 楼主| 发表于 2017-3-1 23:01:44 | 显示全部楼层
正点原子公众号
xfcjava3 发表于 2017-2-28 19:18
楼主出的悬赏金太少了,不然早就告诉你怎么实现了。哈哈!

真的假的?你想要多少金币?。。。。。。。。。。
回复

使用道具 举报

  离线 

8

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
915
金钱
915
注册时间
2016-5-31
在线时间
387 小时
发表于 2017-3-2 11:41:04 | 显示全部楼层
其实很简单,当然可以帮楼主解决了!
回复

使用道具 举报

  离线 

8

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
915
金钱
915
注册时间
2016-5-31
在线时间
387 小时
发表于 2017-3-2 11:47:24 | 显示全部楼层
     我程序告诉你到这儿,接下来的程序实现,我想楼主可以自己实现了吧。

     实在不行的话,我就好人做到底,哈哈! 你可以加我的QQ: 390350125
面授与你。
回复

使用道具 举报

  离线 

1

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2018-5-7
在线时间
3 小时
发表于 2018-5-28 10:34:42 | 显示全部楼层
楼主的问题解决了吗,我也遇到相同的问题,可以分享一下吗
回复

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-6-18 21:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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