Include和对象的组合技

Include和对象的组合技

以我上篇发的为例

托盘图标相关操作对象化及演示

托盘图标.ahk内容如下

Class 托盘图标{
	bian(tubiao,hao)
{
	Menu, Tray, icon, %tubiao%, %hao% ;改变正常状态图标
}
__Set(P,Bu)
{
	if InStr("show,xianshi,可见", P){
		if Bu
			Menu, Tray, icon
		else
			Menu, Tray, Noicon
		return Bu
	}

	if InStr("ding,dongjie,冻结", P){ ;冻结当前图标
		if Bu
			Menu, Tray, icon, , , 1
		else
			Menu, Tray, icon, , , 0
	}
	else
		MsgBox,未知属性:%P%
	return Bu
}
} ;Class 托盘图标

调用时候只需:

#SingleInstance,force
#Include,托盘图标.ahk
;#NoTrayIcon
TT:=new 托盘图标
#c::
	Suspend,Permit
	Sleep 2000
	TT.show:=A_IconHidden
	Sleep 2000
	TT.ding:=1
	Suspend,Toggle
	Sleep 2000
	TT.bian("shell32.dll",200)
	Sleep 2000
	TT.dongjie:=0
	Sleep 2000
	TT.冻结:=true
	Suspend,Toggle
	Sleep 2000
	TT.DongJie:=false
	TT.哎呦:=true
return

这样用起来似乎更简洁一点,而且因为一个脚本只建立一个托盘图标,也就是说,只需要一个托盘图标对象,那么

TT:=new 托盘图标

这句也可以放进 托盘图标.ahk

观察一下

首先,我们只想控制系统的托盘图标,然而每次语句都要以 Menu, Tray, icon 开头,麻烦!

其次,冻结/解冻图标 Menu, Tray, icon, , , 连续三个逗号,不便记忆!

所以对象方式,个人觉得更加舒服一点。

另一个想法是:把频繁使的对象合进一个 库ahk,然后主窗Include即可。

给TA捐赠
共{{data.count}}人
人已捐赠
其他

[QZ2插件]QZ2插件-以指定目录下的所有文件为模板新建文件

2018-1-22 19:19:26

其他

有时候我们希望程序运行之后就能自杀,这里就提供一个能自杀的脚本实例

2018-2-1 20:15:30

2 条回复 A文章作者 M管理员
  1. AHK中文社区

    思路很好!其实类这块我一直没出教程,就是觉得自己出不好!希望有时间将类和函数对象的知识整理一下!

  2. wangp

    1

个人中心
购物车
优惠劵
有新私信 私信列表
搜索