delphi 方向键改变button焦点的问题
在form左右两侧各有几个button,我现在想按下上下键焦点只在左侧一列button上循环切换,只有当按方向键右键才跳转到右侧按钮列,然后上下键只在右列按钮循环切换...
在form左右两侧各有几个button,我现在想按下上下键焦点只在左侧一列button上循环切换,只有当按方向键右键才跳转到右侧按钮列,然后上下键只在右列按钮循环切换
展开
2个回答
2016-09-26 · 知道合伙人软件行家
关注
展开全部
要编写完成只在左右两列 button 上进行焦点循环的代码,需要考虑获取当前的焦点,然后再响应系统的按键消息,再要判断应该跳转到哪个 button 上,怎么看代码几行是不够的。
与其费脑筋编写代码来完成这个功能,不如尽可能利用现有的手段来达到类似的目的,比如:
可以建立两个 panel(可以设置 panel 边框不显示),然后,将 button 分别放进两个 panel 里,再调整设置好各 button 的 TabOrder 顺序值。
由于系统的特性,当你按上下左右方向键时,焦点只会在同一个 panel(即同一列)里循环。当在最末的 button 上按 Tab 键时,就会跳转到下一个 panel 里。
虽然可能未完全达到效果,但可以一句代码不用写。
与其费脑筋编写代码来完成这个功能,不如尽可能利用现有的手段来达到类似的目的,比如:
可以建立两个 panel(可以设置 panel 边框不显示),然后,将 button 分别放进两个 panel 里,再调整设置好各 button 的 TabOrder 顺序值。
由于系统的特性,当你按上下左右方向键时,焦点只会在同一个 panel(即同一列)里循环。当在最末的 button 上按 Tab 键时,就会跳转到下一个 panel 里。
虽然可能未完全达到效果,但可以一句代码不用写。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询