TC官方合作论坛

标题: TAB切换选项卡里面的输入框焦点,消息路由做的 [打印本页]

作者: yhmjh    时间: 2015-7-23 13:00
标题: TAB切换选项卡里面的输入框焦点,消息路由做的
本帖最后由 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


作者: cjxdn    时间: 2015-7-23 13:21
学习了


控件.可见("按钮0",真)
不好吗
作者: yhmjh    时间: 2015-7-23 13:35
cjxdn 发表于 2015-7-23 13:21
学习了


对,用那个也可以
作者: ok963963ok    时间: 2015-7-24 09:07
当控件数量多的时候建议你把控件名称,弄成数组然后for 循环处理更简洁
作者: yhmjh    时间: 2015-7-24 09:12
ok963963ok 发表于 2015-7-24 09:07
当控件数量多的时候建议你把控件名称,弄成数组然后for 循环处理更简洁

恩恩,确实




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1