想法:
自打认识AHK以来,就对其的GUI部分感到麻烦,毕竟只是一个脚本啊!
比如操作一个Text静态文本控件:
添加要GUI ADD
获取内容要GuiControlGet
修改内容要GuiControl Text
大概就是需要 语句 子命令 控件句柄or变量 内容or输出变量
当然可以Sub或者函数简化,这样需要 函数 控件句柄or变量 内容or输出变量
用惯了VB之类的,感觉特不习惯
当然对于很熟练的高手来说,这样键盘操作比鼠标更快。
AutoGui之类工具也就画窗体时候方便,改完代码再想改窗体还是麻烦。
近期在群内交流增多的启发下,想着怎么控件对象化操作,
涉及到变量的作用范围,GUI,对象综合运用,特别复杂, 对象部分我也没看完,复制例子只是尝试一下,没想到成功了!
看来不是AHK的作者大神没想到,大概是人家懒得做!!!
相应的细节很值得探讨!但是我喝酒后实在是不想写了……
以Text静态文本控件为例:
New……添加……GUI ADD
Get……获取内容……GuiControlGet
Set……修改内容……GuiControl Text
;控件初步对象化的尝试 By 枫丹白露 2017-12-27 myT:= new Text("文本1") myT2:=new Text("文本2") Gui Show, w480 h360, Window Sleep 1000 MsgBox % "myT句柄:" myt.h " .t属性:"myt.t " myT2.tt:" myt2.tt myT.t:="1变" myT2.te:="2没变" Sleep 1000 MsgBox % "myT句柄:" myt.h " .t属性:"myt.t " myT2.tt:" myt2.tt Sleep 1000 ExitApp class Text { h:=0 __New(s) { Gui Add, Text,hwndjubing,%s% this.h:=jubing MsgBox % "New:" this.h } __Get(aName) { jubing:=this.h GuiControlGet,s,,%jubing% return s } __Set(aName, aText) { MsgBox Set属名:%aName% 内容:%aText% if aName=T { jubing:=this.h GuiControl Text,%jubing%,%aText% return aText } } }
啊哈哈哈哈哈哈哈,一定会有更舒坦的构造!!!
关注