GUI设计与制作入门

GUI设计与制作入门
本人学习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

如图:
[attach]1154[/attach]
下面是宽与高为200和100的窗口图片
[attach]1155[/attach]
由此可见,GUI设计窗口并非那么复杂,只要设置好几个关键值就可以了。
3、窗口背景色彩的设计。
窗口背景色彩设计主要运用下列语句来解决。
背景色彩设计完整原文语句是:GUISetBkColor ( background [, winhandle] )
用法:GUISetBkColor语句必须紧跟GUICreate语句。括号里的参数可自行设定。实例:
#include
GUICreate ("My GUI")
GUISetBkColor (0xE0FFFF)  ; 设置自己喜欢的色彩
GUISetState  ()     
While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE  Then ExitLoop
Wend
[attach]1156[/attach]
在GUISetBkColor (0xE0FFFF)语句中“0xE0FFFF”是色彩值;“E0FFFF”色彩代码。改变色彩只要改变代码即可。上图中的色彩代码分别是“E0FFFF”和“FF0033”。
4、窗口按钮的设计。
设计按钮是为了达到控制与应用的目的。设计按钮的完整语句是:
GUICtrlCreateButton ( "text", left, top [, width [, height [, style [, exStyle]]]] )
可以看出按钮语句是由“按钮名、按钮与窗口左边距、按钮与窗口顶边距、按钮形状的宽、按钮形状的高、按钮的外形风格”等组成。
下面是按钮不同参数的图形:
[attach]1157[/attach] [attach]1158[/attach]

左图的按钮语句是:
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

脚本窗口图形如下图

[attach]1159[/attach]
当然,按钮还可以叠加图片等,只要设置好函数语句就可以了。设置的方法是在GUICtrlCreateButton ("我的图标按钮", 10,20,40,40, $BS_ICON)语句中,改变$BS_ICON即可。详情见帮助文件:GUI Control Styles项中的Push Button Styles参数。以上仅仅是把按钮设计出来了,但真正要起作用还需要修改和增加语句。关于按钮的控制与应用将在第二讲中详细解答。
p处理 2008-5-3 17:09
二)按钮的控制与应用
按钮的控制与应用主要是用来完成一项任务或控制某一个部件的动作。
    1、控制的基本方法。一般按钮使用变量来设计与控制。即:
$OK = GUICtrlCreateButton ("按钮OK", 10,20,80,40)
$Cancel = GUICtrlCreateButton ("按钮Cancel", 150,20,80,40)
按钮的控制语句应放在循环判断语句当中。即:在下列循环判断语句当中"..."中加入控制语句。
While 1
      $msg = GUIGetMsg()
...
WEnd
示例脚本如下:
#include
GUICreate ("我的图标按钮",400,200)
GUISetBkColor (0xE0FFFF)  ; 设置自己喜欢的色彩
$OK = GUICtrlCreateButton ("按钮OK", 10,20,80,40)
$Cancel = GUICtrlCreateButton ("按钮Cancel", 150,20,80,40)
GUISetState(@SW_SHOW)
While 1
  $msg = GUIGetMsg()
  Select
    Case $msg = $ok
      MsgBox(0, "按钮的控制", "控制成功!")
    Case $msg = $GUI_EVENT_CLOSE or $msg = $Cancel
      MsgBox(0, "按钮的控制", "控制结束! 按确定或关闭窗口将自动退出程序...!")
      ExitLoop
  EndSelect
WEnd
    2、循环判断的设置。一般循环判断语句在While...Wend中通常用以下两种语句。即:Select...Case...EndSelect与If Then(或If...ElseIf...Else...EndIf)(详见帮助文件)。两种判断语句示例脚本:
      第一种:
While 1
  $msg = GUIGetMsg()
  Select
    Case $msg = $ok1
      MsgBox(0, "按钮的控制1", "控制1!")
    Case $msg = $ok2
      MsgBox(0, "按钮的控制", "控制2!")
    Case $msg = $ok3
      MsgBox(0, "按钮的控制", "控制3!")
    Case $msg = $ok4
      MsgBox(0, "按钮的控制", "控制4!")
...
    Case $msg = $GUI_EVENT_CLOSE or $msg = $Cancel
      MsgBox(0, "按钮的控制", "控制结束! ")
      ExitLoop
  EndSelect
WEnd
这一种判断语句可以设置无限的按钮,只要你的窗口能放下无限的按钮。每一个Case只能控制或完成一项任务,也就是一事一办。当然在Case里面还可以增加下一级或更多级的判断。如增加If Then语句,也可以增加Select...Case...EndSelect语句(这种情况较为复杂,新手不宜)。
    第二种:
While 1
$msg = GUIGetMsg()
  if  $msg = $exit  Then
      MsgBox(0, "退出", "退出控制吗!")
       Exit
   EndIf
if  $msg =  $ok1  Then
     $Box = MsgBox(0, "按钮的控制1", "控制1!")
        if  $Box = 1  Then  RUN("Setup1.exe")
      Exit
EndIf
if  $msg =  $ok2  Then
     $Box2 = MsgBox(0, "按钮的控制2", "控制2!")
        if  $Box2 = 1  Then  RUN("Setup2.exe")
      Exit
EndIf
if  $msg =  $ok3  Then
     $Box3 = MsgBox(0, "按钮的控制3", "控制3!")
        if  $Box3 = 1  Then 
                            RUN("Setup3.exe")
         EndIf
EndIf
...
WEnd
         从示例看,这一种判断语句也同样可以设置无限的按钮,只要你的窗口能放下无限的按钮。每一个If Then也同样只能控制或完成一项任务。在If Then里面也可以增加下一级的判断。如增加Select...Case...EndSelect。看示例:
While 1
$msg = GUIGetMsg()
  if  $msg = $exit  Then
      MsgBox(0, "退出", "退出控制吗!")
       Exit
   EndIf
if  $msg =  $ok  Then
     Select
       Case $msg = $ok1
          MsgBox(0, "按钮的控制1", "控制1!")
       Case $msg = $ok2
          MsgBox(0, "按钮的控制", "控制2!")
       Case $msg = $ok3
          MsgBox(0, "按钮的控制", "控制3!")
       Case $msg = $ok4
          MsgBox(0, "按钮的控制", "控制4!")
              ...
       Case $msg = $GUI_EVENT_CLOSE  or  $msg = $Cancel
          MsgBox(0, "按钮的控制", "控制结束! ")
          ExitLoop
     EndSelect
EndIf
WEnd
    3、注意的事项。在运用判断语句时,无论是用Select...Case...EndSelect语句,还是用If Then语句时,都要注意:设计任务或动作的脚本最好是在判断语句中一次运行完。另外,关闭窗口和退出的语句都不要忘记加上。如($msg = $GUI_EVENT_CLOSE;$msg = $exit)。特别是在多级判断语句里,不要忘记退出循环的语句。如(ExitLoop;EndSelect;EndIf;WEnd)。
    关于GUI设计中的其他控件的制作与应用将在第三讲中详细解答。

时间: 2024-10-16 15:20:39

GUI设计与制作入门的相关文章

程序设计C语言二级考试教程 Java基础视频教程 安卓软件开发教程 Unity3D游戏制作入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

atitit。流程图的设计与制作&#160;attilax&#160;总结

atitit.流程图的设计与制作 attilax 总结 1. 流程图的规范1 2. 绘图语言2 2.1. atitit.CSDN-markdown编辑器2 2.2. js-sequence-diagrams 2 3. 成员软件 axure  (10M)2 4. visio3 5. 参考3 5.1.1. paip.流程图的图形化编程及源码生成时序图 -?attilax的专栏 - ...3 5.1.2. paip.提升效率---源码生成流程图工具 -?attilax的专栏 - 博客频道...3 1.

【Ecmall】ECMall2.x模板制作入门系列(认识ECMall模板)

ECMall2.x模板制作入门系列之1(认识ECMall模板) 从ECMall2.0全新架构发布以来,随着版本的不断更新,ECMall已经逐渐走向一个稳定时期,是时候整理一些实用教程了.下面给大家带来一个模板制作入门教程. 申明:本人第一次写教程.可能只能说一些比较浅显的基础知识.条理性可能不是很到位,说得不对的地方欢迎拍砖并指正,目的是希望通过这次教程能让新手们对模板有一个比较系统的认识. 一.ECMall的模板文件在网站中怎么分布的.怎么找到一个页面所对应的模板theme/ 主题目录 商城模

自己设计并制作了一个自动温度控制系统

一.课题任务 设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿.水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变. 1.基本要求 (1)温度设定范围为40-90℃,最小设定分度为1℃. (2)具有温度显示功能,分辨率为0.1℃,显示的绝对误差小于1℃. (3)当温度达到某一设定值并稳定后,水温的波动控制在±2℃以内.要求温度调控达到稳定状态时,必须给出声或光提示信号. (4)环境温度降低时(例如用电风扇降温)水温的波动控制在±2℃以内.

Axure高保真原型:移动客户端的设计与制作视频教程

Axure高保真原型:移动客户端的设计与制作(含8.0),课程一共103课时,是目前国内最完整的一套Axure视频教程. 教程出自:学途无忧网 课程观看地址:http://www.xuetuwuyou.com/course/25 第 1 章 :Axure 8.0 课时1:Axure 8.0 新增内容大纲.下载地址.汉化方法 课时2:设置元件样式和属性.设置调整页面样式和属性.页面模块及元件管理的改变.每个窗口的"增删查移"的优化 课时3:元件样式预设管理.页面快照.元件转换为"

GUI设计9个原则(第三篇)

基本原则7: 传递信息,而不仅仅是数据 基本原则8: 设计应满足响应需求 基本原则9: 通过用户试用发现错误,然后修复它 7) 原则7: 传递信息,而不仅仅是数据 计算机承诺了一种信息来源.但是它们主要传递的是大量的数据--绝大部分都是无用数据.数据不是信息.人们需要从数据中提取信息. 软件应用程序通常把数据当作信息.它们把数据都扔给你,让你自己查明它们意味着什么.软件应当将用户的注意力集中到重要的数据上,并帮助他们从中提取信息. 7.1 认真设计显示,获取专业帮助 基木原则2提到: "首先考虑

GUI 设计中 Callback 与 ButtonDownFcn 的区别

Callback 与 ButtonDownFcn 是MATLAB GUI 设计中容易混淆的两个回调函数,在触控按钮(Push Button).静态文本(Static Text).切换按钮(Toggle Button).滑动条(Slider)等控件中均有这两个函数(也叫“属性”).下面仅以 Push Button 为例进行说明. 两函数的调用要涉及的另一个用于使能或禁用控件的属性 Enable,此属性包含三个可选值:{on}.off.inactive,on 为默认属性.当 Enable 为 on

前端制作入门知识

原文链接:http://caibaojian.com/frontend-base.html 前端制作入门知识 A-A+ 前端博客•2015-08-18•前端开发•CSS | 前端基础•2020View1 文章目录 一.名词解释 二.文本格式化 三.表单表格 四.文本格式化 五.CSS布局 六.html5视频音频 七.一些约定 八.命名空间 九.基本设置-public.css 十.框架设置 来自百度文库:web前端学习总结(精华版),里面讲了许多的知识,非常适合刚进入前端的童鞋,就算一些有点基础的

GUI设计9个原则(第二篇)

基本原则4: 设计要符合常见情况 基本原别5: 不要分散用户对他们目标的注意力 基本原则6: 促进学习 4)原则4:设计要符合常见情况 在任何任务领域中,用户都有各种目标,从常用目标到很少发生的目标.应用程序应当设计为能够识别这些目标. 4.1 使得易于实现常用的结果 如果用户的目标是可预测的且常用的,用户就不应为了实现这个目标而必须做很多工作.如果目标是不常见的,则可以要求做更多工作.更正式的说法是: 为了得到一个想要的结果,用户必须要指定的量不应与结果的复杂度成比例.它应当与期望结果偏离常用