我用了中文变量名,顺便当个简单的注释用,复制代码使用的话,文件选utf8-bom编码
分类 := ["调整", "输入", "播放", "软件"] ; 要创建的Tab页名称列表
列数 := 7
行数 := 2
按钮间距 := 2
默认Tab := "调整"
按钮高 := 30
按钮宽 := 50
按钮文本大小 := 8
; -----------------------------------------------------
; 创建tab页名称命名的简单数组,数组内为当前tab页的按钮名
; 把按钮对应的动作写在与按钮同名的标签/函数下
调整 := ["示例一", "示例二"]
输入 := ["示例三"]
; ---------------------------------------------------------
TabName := ""
For k,v in 分类
{
If (v = 默认Tab)
TabName .= v . "||"
Else
TabName .= v . "|"
}
Gui, +AlwaysOnTop +E0x08000000
Gui, Font, s10, 微软雅黑
Gui, Margin, 10 , 10
Gui, Add, Tab3, % "w" (按钮宽+按钮间距)*列数+18, % TabName
log.info((按钮宽+按钮间距)*列数+按钮间距)
Gui, Font, s%按钮文本大小%, 微软雅黑
For k,v in 分类
{
Gui, tab, % v
换行计数 := 0
新行 := 1
按钮总数 := 行数 * 列数
Loop % 按钮总数
{
换行计数 += 1
_Lift := "x+" 按钮间距
_Top := ""
If (A_Index = 1)
_Lift := "x20", _Top := "y45"
If (换行计数 = 列数 + 1){
_Lift := "x20", _Top := "y" 45 + (按钮高+按钮间距) * 新行
换行计数 := 1
新行 += 1
}
If (%v%[A_Index]){
中转标签 := Func(%v%[A_Index])
gid := %v%[A_Index]
Gui, Add, Button, %_Lift% %_Top% h%按钮高% w%按钮宽% v%gid% , % %v%[A_Index]
GuiControl +g, %gid%, %中转标签%
}
Else
Gui, Add, Button, %_Lift% %_Top% h%按钮高% w%按钮宽%
}
}
Gui, Show, NA, 简陋的按钮
Return
; 动作示例
示例一(){
MsgBox % "创建一个新行"
}
示例二(){
Send, {Text}这个按钮是用来输入这段话
}
示例三(){
MsgBox % "这是一段测试用的文本"
}
F2::Reload
欢迎小僵同学
?
非常实用的脚本,感谢!
感谢老板打赏