Q:假设我现在设计了登录界面,我想使用Tab来 切换 账号和密码的焦点,如何操作?
A1:仅需要设置组件的 **焦点权重 即可[图1-1,图1-2]
解释:焦点权重为EXUI的组件的焦点切换顺序,如果为0就代表不生效(或者按照默认切换)
顺序为 从大到小 如 6->5->4->3->2->1 然后开始新一轮的循环,新循环在这里从 6 开始
A2:可以通过代码[ 组件置焦点组件() ]设置[图2-1-1,图2-1-2 ; 图2-2-1,图2-2-2**]
解释:组件置焦点组件 可以通过EXUI的组件句柄 来单独设置某个组件的焦点
常用于鼠标进入离开 列表框 图标列表框 或者超级列表框的时候 不需要点一下 就可以滚动
这里的例程为Tab切换编辑框的焦点[**图2-1-1,图2-1-2 ; 图2-2-1,图2-2-2**]
图1-1
图1-2
这里为回答1的图例-截止线
图2-1-1
图2-1-2
.版本 2
.支持库 spec
.支持库 ExuiKrnln
.子程序 _编辑框EX账号_键盘事件, 整数型, , 你还是要点一下这个组件,不然没有焦点就不会获得事件
.参数 事件类型, 整数型
.参数 事件窗口, 整数型
.参数 键代码, 整数型
.参数 键状态, 整数型
.局部变量 局_组件句柄, 整数型
调试输出 (事件类型, 事件窗口, 键代码, 键状态)
.判断开始 (事件类型 = 257) ' Windows 窗口常量 键盘弹起257'#WM_KEYUP
调试输出 (“按键被放开”)
.判断开始 (键代码 = #Tab键) ' 这里可以自己调试输出,或者寻找 核心支持库的常量
调试输出 (“Tab键被放开”)
' 局_组件句柄 = 组件取窗口绑定组件 (编辑框EX账号.取窗口句柄())
局_组件句柄 = 组件取窗口绑定组件 (编辑框EX密码.取窗口句柄 ()) ' 在最新版本EXUI 20200426及以上 直接填入 组件 就自动可以获得句柄 ' 获取的为 EXUI专属的窗口句柄 '因为这里要从账号到密码 所以要获取 密码编辑框的EXUI组件句柄
组件置焦点组件 (局_组件句柄) ' 使用指令精准设置当前窗口的得到 焦点组件
调试输出 (“现在组件的焦点已被切换到指定焦点”)
.默认
.判断结束
.判断 (事件类型 = 256) ' Windows 窗口常量 键盘按下256'#WM_KEYDOWN
调试输出 (“按键被按下”)
.判断开始 (键代码 = #Tab键)
调试输出 (“Tab键被按下”)
.默认
.判断结束
.默认
.判断结束
**图2-2-1
图2-2-2**
.版本 2
.支持库 spec
.支持库 ExuiKrnln
.子程序 _编辑框EX密码_键盘事件, 整数型, , 你还是要点一下这个组件,不然没有焦点就不会获得事件
.参数 事件类型, 整数型
.参数 事件窗口, 整数型
.参数 键代码, 整数型
.参数 键状态, 整数型
.局部变量 局_组件句柄, 整数型
调试输出 (事件类型, 事件窗口, 键代码, 键状态)
.判断开始 (事件类型 = 257) ' Windows 窗口常量 键盘弹起257'#WM_KEYUP
调试输出 (“按键被放开”)
.判断开始 (键代码 = #Tab键) ' 这里可以自己调试输出,或者寻找 核心支持库的常量
调试输出 (“Tab键被放开”)
' 局_组件句柄 = 组件取窗口绑定组件 (编辑框EX账号.取窗口句柄())
局_组件句柄 = 组件取窗口绑定组件 (编辑框EX账号) ' 在最新版本EXUI 20200426及以上 直接填入 组件 就自动可以获得句柄' 获取的为 EXUI专属的窗口句柄 '因为这里要从密码到账号 所以要获取 账号编辑框的EXUI组件句柄
组件置焦点组件 (局_组件句柄) ' 使用指令精准设置当前窗口的得到 焦点组件
调试输出 (“现在组件的焦点已被切换到指定焦点”)
.默认
.判断结束
.判断 (事件类型 = 256) ' Windows 窗口常量 键盘按下256'#WM_KEYDOWN
调试输出 (“按键被按下”)
.判断开始 (键代码 = #Tab键)
调试输出 (“Tab键被按下”)
.默认
.判断结束
.默认
.判断结束
这里为回答2的图例-截止线