本帖最后由 yhmjh 于 2015-7-23 13:50 编辑
TC自带的的TAB切换控件焦点示例里面的输入框可以切换焦点,但是将输入框放在选项卡里面,就完全不起作用,点击TAB键,没有任何影响。在论坛里面发帖求助,没有任何效果,也搜过曾经相关的帖子,没有得到答案,据说说是TC5的bug。曾经也试过不用消息路由,使用循环获取键盘按键,当按键按下TAB键时,执行相关函数。但是这样的话,杀毒软件提示软件有记录键盘信息的,因此这种方法不好,舍去了。
本源码其实也是很简单的。大概方法就是换了一个思路而已。
步骤一:输入框还是直接放在最外面的面板上面,没有放进选项卡,然后将输入框设置为移至顶层,然后移到选项卡上面,记录好输入框的位置坐标。
步骤二:在选项卡里面设置选项卡改变事件。下面就是选项卡改变的相关函数,就是当选项卡选择其他选项时,将输入框隐藏掉,因此将控件的位置设置成了负数。
function 选项卡0_selectchange()
//这里添加你要执行的代码
var index=选项卡获取选项("选项卡0")
if(index==0)
控件设置位置("edit0",253,112,50,80,1)
控件设置位置("edit1",253,142,50,80,1)
控件设置位置("edit2",253,172,50,80,1)
else
控件设置位置("edit0",-200,-200,50,80,1)
控件设置位置("edit1",-200,-200,50,80,1)
控件设置位置("edit2",-200,-200,50,80,1)
end
end
本人也是新手一个哈,就不设置回复可见了,如果觉得还可以就回帖支持一下的哈 O(∩_∩)O
PS: 受到cjxdn 点拨,就用控件的显示与隐藏,下面代码更简洁有效。之前我的代码只是将控件移动了位置,然后再移动回来,确实感觉绕圈子了,哈哈O(∩_∩)O
function 选项卡0_selectchange()
//这里添加你要执行的代码
var index=选项卡获取选项("选项卡0")
if(index==0)
控件显示("edit0",真)
控件显示("edit1",真)
控件显示("edit2",真)
else
控件显示("edit0",假)
控件显示("edit1",假)
控件显示("edit2",假)
end
end
|