Autolt part 7

Chia sẻ: Avsdvvsd Qwdqdad | Ngày: | Loại File: PDF | Số trang:3

0
43
lượt xem
6
download

Autolt part 7

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nếu như các script viết bằng AutoIt có thể hoạt động một cách hoàn toàn âm thầm, nghĩa là click và chạy mà người dùng ko biết j` (mở ngoặc: giống "virus" YM nhờ ), thì đôi khi bạn lại muốn tạo một GUI cho script cho giống một soft hoàn chỉnh

Chủ đề:
Lưu

Nội dung Text: Autolt part 7

  1. 6. GUI 6.1. Thiết kế GUI Nếu như các script viết bằng A ư AutoIt có th hoạt động một cách hoàn toàn â thầm, ng hể g âm ghĩa là click v chạy mà người dùng ko biết j` (mở ngoặc: giống "vir và g rus" YM nh hờ ), thì đ đôi khi bạn lại muốn tạ một GUI cho script cho giống m soft hoàn chỉnh ạo một Khả năn tạo GUI trong AutoI góp phần làm cho nó trở nên ph biến và t dụng hơ ng t It n ó hổ tiện ơn Trong G GUI, bạn có thể tạo label, button, c checkbox, r radiobox, list, progress bar, contex s xt menu... n chung là tất tần tật những j` m một GUI có thể có. nói l t mà I Để tạo m ứng dụn có GUI, bạn có thể tạo bằng cá tự viết c một ng ách code lấy - C này chả Cái ả khác j` v việc làm đồ họa bằ Pascal. P căn ke từng mili t với m ằng Phải e trên màn hì sửa đổi vị ình, i trí cho h nhãn,... túm lại là r phiền hợp rất Thử ví d một GUI cho dễ hìn dung nhé dụ I nh é: Code: ; GUI GuiCrea ate("Sample GUI", 400 400) e 0, GuiSetIc con(@Syste emDir & "\mspaint.exe", 0) ; MENUU GuiCtrlC CreateMenu u("Menu&O One") GuiCtrlC CreateMenu u("Menu&T Two") GuiCtrlC CreateMenu u("MenuTh h&ree") GuiCtrlC CreateMenu u("Menu&F Four") ; CONTEXT MENU $context tMenu = Gu uiCtrlCreatteContextMMenu() GuiCtrlC CreateMenu uItem("Con ntext Menu" $contextM ", Menu) GuiCtrlC CreateMenu uItem("", $ccontextMen ;separat nu) tor GuiCtrlC CreateMenu uItem("&Pr roperties", $ $contextMe enu) ; PIC GuiCtrlC CreatePic("logo4.gif",0 169,68) 0,0, GuiCtrlC CreateLabel("Sample p pic", 75, 1, 53, 15) GuiCtrlS SetColor(-1,0xffffff)
  2. ; 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
  3. Ở 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)
Đồng bộ tài khoản