最近还是有不少人在问TC热键的设置方法,今天在这里发一贴,谈谈自己的个人思路,就不一一回帖说明了!
TC的界面设计虽然有一些瑕疵,也许有些人觉得很麻烦,有些人觉得很方便,有些人觉得很漂亮,而有些人却又觉得很土!
所谓众口难调,但是个人认为对于初学者来说,TC的界面设计无疑是很容易上手的!前提是你掌握了方法!下面是本人的几个按钮及热键的设计思路,仅供大家参考!
一,按钮设置只开启一次
有童鞋为了使点击按钮只执行一次开启线程(避免线程重复开启),用设置全局变量来控制,或者是用判断线程句柄是否为0来控制,其实还有一种更简单,更直观的方法,那就是用控件的有效命令来设置!代码如下:
- 功能 按钮0_点击()
- 线程句柄=线程.开启("我的程序.主线程")
- 控件.有效("按钮0",假)
- 返回 真
- 功能结束
复制代码 效果图:
点击前
点击后
看效果图,当我们点击按钮开启线程以后,按钮控件变灰色,也就是失效了,就防止了再次开启线程,更让用户直观的看到,脚本只能开始一次
二,热键的设置
我们先在脚本界面上放个热键控件,这时这个热键控件就像个编辑框,里面有个无字!
然后我们单击它,右边的工具栏就会变成属性栏,我们就可以在属性栏里设置该热键的属性,首先是热键名称,默认是"热键0",当然如果你放的是第二个热键控件,那么默认是"热键1",以此类推!这个名称我们可以自定义的,只要不和别的控件名相同就可以,比如"开始热键"!
然后我们还可以设置热键键值,这个属性相当于默认的热键键值,点击这个属性框最右边的"...",就会弹出一个输入框,我们点击上面的编辑框,看到一个光标在编辑框闪动了没?然后按下我们需要设置为热键的键盘按键,比如"F9",那么编辑框里就会出现"F9"字样,点击确定,该热键的默认键值就设置好了!
很多童鞋到了这一步就以为热键就设置好了,所以就会出现设置的热键没反应的问题!那是因为我们没有设置热键的响应事件!
从上图我们可以看到,热键控件一共有两个响应事件,1.热键,2.失去焦点
点击热键的下拉标记,我们可以看到"<添加>......."字样,点击它就会转到代码界面,并自动生成一个热键函数:
- 功能 开始热键_热键()
- //这里添加你要执行的代码
- 返回 真
- 功能结束
复制代码 然后我们在这个函数里写的代码,就是当脚本运行后,我们按下设置的热键脚本所执行的代码了!
这里需要注意的是,TC的控件有个一个特点,所有控件的响应事件都需要这样添加,如果你只是复制粘贴代码,而没有添加事件,那么控件是无法响应事件的,也就是无效的!
那么什么是"失去焦点"事件呢?当我们运行脚本以后,点击热键控件,热键编辑框里就会有个光标在闪动,这时我们可以按下别的键盘按键,编辑框内的字符就会改变成我们按下的键盘按键,比如"A",这时,焦点就是在热键控件上的,当我们点击脚本界面上别的地方时,热键编辑框里闪动的光标就会消失了,也就是热键控件"失去焦点"了,那么"失去焦点"事件就开始响应了!看到这里大家都应该知道了,一般这个"失去焦点"事件都是为了让使用脚本的用户自定义热键而设置的!
- 功能 开始热键_失去焦点()
- //这里添加你要执行的代码
- 热键.销毁("开始热键")
- 热键.注册("开始热键")
- 返回 真
- 功能结束
复制代码 当然,如果你不让用户自定义热键,这个事件你也可以不添加!
三,多功能按钮
什么是多功能按钮与热键呢?比如,当脚本运行以后,我们第一次点击一个按钮,那么脚本开启线程,之后再次点击该按钮,线程暂停,再次点击,线程恢复,再点,暂停,再点,恢复......
我是用按钮上显示的文本来实现这个功能的,当然你也可以用别的方法!
效果图
(额,不知道为什么,"开始挂机(F9)"的图片上传不了,大家知道该按钮一开始设置的文本为:"开始挂机(F9)"就好了!按钮名定义的是"开始挂机")
2.1版TC代码如下:
- 功能 开始挂机_点击()
- 内容=按钮.获得文本("开始挂机")
- 如果 (内容=="开始挂机(F9)")
- 按钮.设置文本("开始挂机","暂停挂机(F9)")
- 主线程句柄=线程.开启("我的程序.主线程")
- 如果结束
- 如果(内容=="暂停挂机(F9)")
- 按钮.设置文本("开始挂机","恢复挂机(F9)")
- 线程.暂停(主线程句柄)
- 如果结束
- 如果(内容== "恢复挂机(F9)"
- 按钮.设置文本("开始挂机","暂停挂机(F9)")
- 线程.恢复(主线程句柄)
- 如果结束
- 返回 真
- 功能结束
- 等3.0版TC出来以后,我们可以用"选择"命令来简化代码:
复制代码 功能 开始挂机_点击()
内容=按钮.获得文本("开始挂机")
选择 (内容)
条件 "开始挂机(F9)":
按钮.设置文本("开始挂机","暂停挂机(F9)")
主线程句柄=线程.开启("我的程序.主线程","")
条件 "暂停挂机(F9)":
按钮.设置文本("开始挂机","恢复挂机(F9)")
线程.暂停(主线程句柄)
条件 "恢复挂机(F9)":
按钮.设置文本("开始挂机","暂停挂机(F9)")
线程.恢复(主线程句柄)
选择结束
返回 真
功能结束
四,热键控制按钮
其实很简单,我们只要在热键的函数里写上调用按钮函数的命令,就可以让热键和按钮的功能一致!
- 功能 开始热键_热键()
- 我的程序.开始挂机_点击()
- 返回 真
- 功能结束
复制代码
最后再次提醒大家,界面控件的响应事件一定要点击控件属性里的事件添加到代码中,如果你只是复制粘贴了代码,而没有添加事件,控件是无效的哦!
好了,关于按钮和热键今天就谈到这里,希望对大家的脚本制作有点帮助!
|