GUI设计与制作入门

  • A+
所属分类:知识科普

本人学习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 <GUIConstants.au3>:#include <外部脚本名称>
#include指包括所需的常量和变量。写任何GUI脚本都必须在脚本最前面写入 #include <GUIConstants.au3> 语句。
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 <GUIConstants.au3>
GUICreate ("My GUI")
GUISetBkColor (0xE0FFFF) ; 设置自己喜欢的色彩
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 <GUIConstants.au3>
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参数。以上仅仅是把按钮设计出来了,但真正要起作用还需要修改和增加语句。关于按钮的控制与应用将在第二讲中详细解答。
以上内容可以转载,但必须注明。如果存在错误,请告之本人学习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 <GUIConstants.au3>:#include <外部脚本名称>
#include指包括所需的常量和变量。写任何GUI脚本都必须在脚本最前面写入 #include <GUIConstants.au3> 语句。
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 <GUIConstants.au3>
GUICreate ("My GUI")
GUISetBkColor (0xE0FFFF) ; 设置自己喜欢的色彩
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 <GUIConstants.au3>
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参数。以上仅仅是把按钮设计出来了,但真正要起作用还需要修改和增加语句。关于按钮的控制与应用将在第二讲中详细解答。
以上内容可以转载,但必须注明。如果存在错误,请告之

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: