GUI設計與製做入門(一)

原做者:xhyxsl
 
      本人學習AutoIt還不到一年,能夠說是新手,但在學習過程當中獲得衆多AutoIt愛好者(konandel888COCO)的大力幫助和有益啓發。下文的編寫純屬我的理解,深刻學習還得看原文幫助文件。
AutoIt 發展至今 ( 已到 V3.10 ) ,在 GUI( 圖形界面 ) 方面有不一樣程度的改進和提升。從目前函數語句增長狀況看,設計一些比較複雜的應用程序應當說是不成問題的。我預測隨着 AutoIt 版本進一步提升, GUI 的設計功能將大大加強,到時 GUI 設計的編寫器就如同 VB6 圖形設計編寫器必定能爲咱們設計程序應用提供極大的方便。
    AutoIt 中的 GUI 是咱們設計 AutoIt 可視應用程序的重要組成部分,也是基礎部分。下面,我將從窗口的設計講起。   
    (一)窗口的設計
    GUI 設計中,窗口的設計是最基本的。窗口通常由窗口名、窗口外形、窗口背景顏色和按鈕等組成。
一、窗口設計的完整原文語句。 GUICreate ( "title" [, width [, height [, left [, top [, style [, exStyle [, parent]]]]]]] )
窗口的基本語句是
       GUICreate(" 窗口的設計 ", 200, 100)
在窗口的基本語句中:「窗口的設計」就是窗口文件名;「 200 」就是窗口的寬;「 100 」就是窗口的高。下面請看例子:
二、簡單窗口的腳本(紅色部分)與註解。
#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 設計窗口並不是那麼複雜,只要設置好幾個關鍵值就能夠了。
三、窗口背景色彩的設計。
窗口背景色彩設計主要運用下列語句來解決。
背景色彩設計完整原文語句是: 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 」。
四、窗口按鈕的設計。
設計按鈕是爲了達到控制與應用的目的。設計按鈕的完整語句是:
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參數。 以上僅僅是把按鈕設計出來了,但真正要起做用還須要修改和增長語句。關於按鈕的控制與應用將在第二講中詳細解答。
以上內容能夠轉載,但必須註明。若是存在錯誤,請告之!!![email]xhyxsl@126.com[/email]
相關文章
相關標籤/搜索