Loading
1

[通用]AHK的GUI控件初步对象化操作的尝试

想法:

自打认识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
	}
}
}

啊哈哈哈哈哈哈哈,一定会有更舒坦的构造!!!

本文为原创文章,未经同意禁止转载!!
非常感激你的捐赠!!非常感激你的捐赠!! 非常感激你的捐赠!!非常感激你的捐赠!!

能帮到您是我的快乐!

最后编辑于:2018/1/5作者:枫丹白露

枫丹白露

该用户很懒,还没有介绍自己。