6. GUI 6.1. Thi Nếu nh ư là click v khi bạn Khả nă n Trong G menu . n Để tạo m khác j` v trí cho h Thử ví d Code: ; GUI GuiCrea GuiSetIc ; MENU GuiCtrlC GuiCtrlC GuiCtrlC GuiCtrlC ; CONT $context GuiCtrlC GuiCtrlC GuiCtrlC ; PIC GuiCtrlC GuiCtrlC GuiCtrlS ết kế GUI ư các script và chạy mà lại muốn t ạ ng tạo GUI t GUI, bạn có nói chung l một ứng dụn với việc làm hợp nhãn, . dụ một GUI ate("Sample con(@Syste U CreateMenu CreateMenu CreateMenu CreateMenu EXT MEN tMenu = Gu CreateMenu CreateMenu CreateMenu CreatePic(" CreateLabe SetColor(-1 viết bằng A người dùng ạo một GUI trong AutoI thể tạo lab là tất tần tật ng có GUI, m đồ họa bằ túm lại là r I cho dễ hìn e GUI", 400 emDir & "\ u("Menu&O u("Menu&T u("MenuTh u("Menu&F U uiCtrlCreat uItem("Con uItem("", $c uItem("&Pr logo4.gif",0 l("Sample p ,0xffffff) AutoIt có th g ko biết j` cho script It góp phần el, button, c t những j` m bạn có thể ằng Pascal. P rất phiền nh dung nhé 0, 400) mspaint.ex One") Two") h&ree") Four") teContextM ntext Menu" contextMen roperties", $ 0,0, 169,68 pic", 75, 1, hể hoạt động (mở ngoặc cho giống m n làm cho nó checkbox, r mà một GUI tạo bằng cá Phải căn ke é: e", 0) Menu() ", $contextM nu) ;separat $contextMe ) 53, 15) g một cách : giống "vi r một soft ho ó trở nên ph radiobox, li I có thể có. ách tự viết c e từng mili t Menu) tor enu) hoàn toàn â rus" YM nh àn chỉnh hổ biến và t st, progress code lấy - C trên màn hì âm thầm, ng hờ ), thì đ tiện dụng hơ s bar, contex Cái này chả ình, sửa đổi ghĩa đôi ơn xt ả i vị ; AVI GuiCtrlCreateAvi("sampleAVI.avi",0, 180, 10, 32, 32, $ACS_AUTOPLAY) GuiCtrlCreateLabel("Sample avi", 170, 50) ; GUI MESSAGE LOOP GuiSetState() Một cách khác, thuận tiện hơn, đó là sử dụng một soft dạng GUI Builder. Có nhiều GUI Builder dành cho AutoIt, nhưng theo quan điểm cá nhân, có lẽ Koda là khá nhất. Công cụ này có thể tại về từ trang web: http://www.autoitscript.com/fileman/ .ormdesign.html Phiên bản mới nhất là 1.6, cập nhật ngày 19/9. Koda cho phép bạn dễ dàng tạo GUI chỉ bằng cách drag-and-drop vào form, sau đó sẽ tự động sinh code AutoIt để bạn đưa vào script của mình. Rất rất tiện lợi nếu so sánh với việc code từ đầu bằng tay. 6.2. Gắn GUI với code Có GUI rồi, là đến lúc bạn muốn gắn nó với các mã AutoIt thực thi các lệnh đã viết từ trước. AutoIt hỗ trợ 2 chế độ tương tác với GUI: OnEvent và MessageLoop. Có thể đảo qua lại 2 chế độ bằng cách dùng lệnh: Code: Opt("GUIOnEventMode", 1) Ở chế độ OnEvent, ta sẽ gắn từng "sự kiện" với một hàm tương ứng. Ví dụ, ta gắn "sự kiện" người dùng click nút Close với hàm Close(): Code: GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE") Func CLOSE() MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting .") Exit EndFunc Ở chế độ MessageLoop, ta có một cách tiếp cận hoàn toàn khác. AutoIt sẽ tạo một vòng lặp vô hạn, liên tục kiểm tra xem có sự kiện nào xảy ra với GUI ko - thông qua một hàm mang tên GUIGetMsg. Toàn bộ việc gắn code với GUI được thực hiện qua một vòng lặp While: Code: While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting .") ExitLoop EndSelect WEnd Identical(UDS) . teContextM ntext Menu" contextMen roperties", $ 0,0, 169,68 pic", 75 , 1, hể hoạt động (mở ngoặc cho giống m n làm cho nó checkbox, r mà một GUI. 180, 10, 32, 32, $ACS_AUTOPLAY) GuiCtrlCreateLabel("Sample avi", 170 , 50) ; GUI MESSAGE LOOP GuiSetState() Một cách khác, thuận tiện hơn, đó là