»-(¯`v´¯)-»Diễn Đàn Trường Công Nghệ Thông Tin Thái Nguyên»-(¯`v´¯)-»

.:hix lâu không làm web.nên giờ lười làm quá.dùng tạm cái Forum việt vậy.chủ yếu là chất lượng Những bài viết thôi đúng không.thật THà là nói hết không giấu diếm nhưng học xong cấm nghịch bậy..http://guichonguoiay.net.tf web mình đó RỖI VÀO CHơi Ha.hjhj:.
 
Trang ChínhPortalCalendarGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Thông Tin Cực Sock Cho Những Ai Nghiện Game Audition Của Thái Nguyên.Sau Một Thời Gian Tìm Hiểu Mà Nhờ Mấy Anh Ở forum ClbGame Mình Đã Cài THành Công Bản Audition Offline THái Nguyên.Sắp Tới Mình Sẽ Đưa Lên Online.Các Bạn Muốn Chơi Game Và Muốn Sở Hữu Những Bộ Đồ Đẹp Nhất Không Còn Chần Chừ Gì Nữa Mà Không Click Chuột Để Truy Cập Trang Web wWw.AuTn.tk Để Download Và Thưởng thức

Share | 
 

 6.1. Thiết kế GUI

Go down 
Tác giảThông điệp
Admin
Admin


Tổng số bài gửi : 136
Join date : 13/03/2010

Bài gửiTiêu đề: 6.1. Thiết kế GUI   Thu Mar 18, 2010 9:00 am

6. GUI

6.1. Thiết kế GUI

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

Khả năng tạo GUI trong AutoIt góp phần làm cho nó trở nên phổ biến và tiện dụng hơn

Trong GUI, bạn có thể tạo label, button, checkbox, radiobox, list, progress bar, context menu... nói chung là tất tần tật những j` mà một GUI có thể có.

Để tạo một ứng dụng có GUI, bạn có thể tạo bằng cách tự viết code lấy - Cái này chả khác j` với việc làm đồ họa bằng Pascal. Phải căn ke từng mili trên màn hình, sửa đổi vị trí cho hợp nhãn,... túm lại là rất phiền

Thử ví dụ một GUI cho dễ hình dung nhé:

Code:

; GUI

GuiCreate("Sample GUI", 400, 400)

GuiSetIcon(@SystemDir & "\mspaint.exe", 0)





; MENU

GuiCtrlCreateMenu("Menu&One")

GuiCtrlCreateMenu("Menu&Two")

GuiCtrlCreateMenu("MenuTh&ree")

GuiCtrlCreateMenu("Menu&Four")



; CONTEXT MENU

$contextMenu = GuiCtrlCreateContextMenu()

GuiCtrlCreateMenuItem("Context Menu", $contextMenu)

GuiCtrlCreateMenuItem("", $contextMenu) ;separator

GuiCtrlCreateMenuItem("&Properties", $contextMenu)



; PIC

GuiCtrlCreatePic("logo4.gif",0,0, 169,68)

GuiCtrlCreateLabel("Sample pic", 75, 1, 53, 15)

GuiCtrlSetColor(-1,0xffffff)





; 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)
Về Đầu Trang Go down
Xem lý lịch thành viên http://itcu.forumvi.com
 
6.1. Thiết kế GUI
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
»-(¯`v´¯)-»Diễn Đàn Trường Công Nghệ Thông Tin Thái Nguyên»-(¯`v´¯)-» :: Phận Làm Trai Gõ Phím Bình Thiên Hạ--Chí Anh Hùng Click Chuột Định Giang Sơn :: NHÌN CÁI NÀY AutoIt Ngôn Ngữ Lập trình 2 mặt-
Chuyển đến