原作者:xhyxsl
本人学习AutoIt还不到一年,可以说是新手,但在学习过程中得到众多AutoIt爱好者(konan、del888、COCO等)的大力帮助和有益启发。下文的编写纯属个人理解,深入学习还得看原文帮助文件。
AutoIt
发展至今
(
已到
V3.10
版
)
,在
GUI(
图形界面
)
方面有不同程度的改进和提高。从目前函数语句增加情况看,设计一些比较复杂的应用程序应当说是不成问题的。我预测随着
AutoIt
版本进一步提高,
GUI
的设计功能将大大增强,到时
GUI
设计的编写器就如同
VB6
图形设计编写器一定能为我们设计程序应用提供极大的方便。
AutoIt
中的
GUI
是我们设计
AutoIt
可视应用程序的重要组成部分,也是基础部分。下面,我将从窗口的设计讲起。
(一)窗口的设计
在
GUI
设计中,窗口的设计是最基本的。窗口一般由窗口名、窗口外形、窗口背景颜色和按钮等组成。
1、窗口设计的完整原文语句。
GUICreate ( "title" [, width [, height [, left [, top [, style [, exStyle [, parent]]]]]]] )
窗口的基本语句是:
GUICreate("
窗口的设计
", 200, 100)
在窗口的基本语句中:“窗口的设计”就是窗口文件名;“
200
”就是窗口的宽;“
100
”就是窗口的高。下面请看例子:
2、简单窗口的脚本(红色部分)与注解。
#include
:
#include <
外部脚本名称
>
#include
指
包括所需的常量和变量。写任何
GUI
脚本都必须在脚本最前面写入
#include
语句
。
GUICreate("
我的窗口
")
默认时可不用标明宽与高,默认值一般是
400
与
400
。窗口的宽与高也可以使用变量来设计。如:
$width=500
,
$height=500
。
例子如下:
$width=500
$height=500
GuiCreate("
我的窗口
",$width,$height,(@DesktopWidth-$width)/2, (@DesktopHeight-$height)/2)
注解:
(@DesktopWidth-$width)/2
为屏幕左边到窗口的距离;
(@DesktopHeight-$height)/2
为屏幕顶部到窗口的距离。屏幕
宽与高是与显示器的分辩率一致的。另外还有风格函数可以继续往后加入,但意义不是很大。对于初学者建议用简单的方法。如
GuiCreate("
我的窗口
",200,100)
。要注意的是,窗口
宽与高的值不要大于显示器的分辩率值。
GUISetState (@SW_SHOW)
显示窗口。如果
@SW_SHOW
改为
@SW_HIDE
则窗口隐藏。详情见帮助文件:
GUISetState
项中的参数。也可什么都不加,
默认值是显示窗口。即:
GUISetState ()
。
下面是运行对话框直至窗口关闭的循环语句。
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend
如图:
下面是宽与高为
200
和
100
的窗口图片:
由此可见,
GUI
设计窗口并非那么复杂,只要设置好几个关键值就可以了。
3、窗口背景色彩的设计。
窗口背景色彩设计主要运用下列语句来解决。
背景色彩设计完整原文语句是:
GUISetBkColor ( background [, winhandle] )
用法:
GUISetBkColor
语句必须紧跟
GUICreate
语句。括号里的参数可自行设定。实例:
#include
GUICreate ("My GUI")
GUICreate ("My GUI")
GUISetBkColor
(
0xE0FFFF
)
;
设置自己喜欢的色彩
GUISetState ()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend
GUISetState ()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend
在
GUISetBkColor
(
0xE0FFFF
)
语句中“
0xE0FFFF
”是色彩值;“
E0FFFF
”色彩代码。改变色彩只要改变代码即可。上图中的色彩代码分别是“
E0FFFF
”和“
FF0033
”。
4、窗口按钮的设计。
设计按钮是为了达到控制与应用的目的。设计按钮的完整语句是:
GUICtrlCreateButton ( "text", left, top [, width [, height [, style [, exStyle]]]] )
可以看出按钮语句是由“按钮名、按钮与窗口左边距、按钮与窗口顶边距、按钮形状的宽、按钮形状的高、按钮的外形风格”等组成。
下面是按钮不同参数的图形:
左图的按钮语句是:
GUICtrlCreateButton ("OK", 10, 30, 50)
GUICtrlCreateButton ( "Cancel", 60, 30, 50)
右图的按钮语句是:
GUICtrlCreateButton ("OK", 10, 30, 50)
GUICtrlCreateButton ( "Cancel", 10, 60, 50)
从以上两组按钮语句看,要比原文按钮语句简单的多,这也是
GUI
易学的奥妙。当然,复杂的语句也是可以掌握好的。如按钮与图标叠加的设计,只要加上相应的语句即可。完整脚本如下:
#include
GUICreate ("
我的图标按钮
",400,200)
GUISetBkColor (0xE0FFFF) ;
设置自己喜欢的色彩
GUICtrlCreateButton ("
我的图标按钮
", 10,20,40,40, $BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",43)
GUICtrlCreateButton ("
我的图标按钮
", 80,20,40,40, $BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",31)
GUICtrlCreateButton ("
我的图标按钮
", 150,20,40,40, $BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",22)
GUISetState ()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend
脚本窗口图形如下图
当然,按钮还可以叠加图片等,只要设置好函数语句就可以了。设置的方法是在
GUICtrlCreateButton ("
我的图标按钮
", 10,20,40,40, $BS_ICON)
语句中,改变
$BS_ICON
即可。详情见帮助文件:
GUI Control Styles项中的Push Button Styles参数。
以上仅仅是把按钮设计出来了,但真正要起作用还需要修改和增加语句。关于按钮的控制与应用将在第二讲中详细解答。
以上内容可以转载,但必须注明。如果存在错误,请告之!!![email][email protected][/email]