Tải bản đầy đủ (.pdf) (6 trang)

AutoIT Help part 14 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (115.38 KB, 6 trang )

dùng GUISetOnEvent hay cho control event bởi hàm GUICtrlSetOnEvent. Nếu
không có chức năng được định nghĩa cho một sự kiện thì nó chỉ đơn giản là bỏ
qua.? Khi bên trong này được gọi là chức năng khác nhau macros sẽ được đặt để
các giá trị để giúp quá trình sự kiện này.
Macro

Details

@GUI_CTRLID
Việc kiểm soát ID của sự kiểm soát gửi tin nhắn
OR

hệ
thống sự kiện ID
@GUI_WINHANDLE

handle c

a

GUI đang
s

y ra s


ki

n

@GUI_CTRLHANDLE



handle c

a control đang s

y ra s


ki

n

Chú ý: Đó là hoàn toàn hợp pháp để sử dụng cùng một chức năng cho nhiều sự
kiện, tất cả các bạn cần phải làm trong các trường hợp này là hành động dựa trên
macro @GUI_CTRLID? Ví dụ, bạn có thể đăng ký tất cả các hệ thống vào cùng
một hàm.
Control Event
Khi được kiểm soát nhấp chuột hoặc kiểm soát các thay đổi một sự kiện được gửi
đi.? Sự kiện này là gửi đến các chức năng được xác định với GUICtrlSetOnEvent
.? Bên trong người dùng được xác định chức năng @ GUI_CTRLID được đặt vào
controlID đã được trả lại khi sự kiểm soát đã được tạo ra với GUICtrlCreate .
System Event
Hệ thống các sự kiện - ví dụ như đóng GUI - được gửi đi trong một tương tự như
cách để kiểm soát sự kiện, nhưng sự kiện này được xác định bởi loại @
GUI_CTRLID.? Những sự kiện được gửi đến hàm xác định với GUISetOnEvent .
Việc có thể hệ thống giá trị của sự kiện này sẽ được hiển thị ở đây:
$GUI_EVENT_CLOSE
$GUI_EVENT_MINIMIZE
$GUI_EVENT_RESTORE
$GUI_EVENT_MAXIMIZE

$GUI_EVENT_PRIMARYDOWN
$GUI_EVENT_PRIMARYUP
$GUI_EVENT_SECONDARYDOWN
$GUI_EVENT_SECONDARYUP
$GUI_EVENT_MOUSEMOVE
$GUI_EVENT_RESIZED
$GUI_EVENT_DROPPED
Example GUI
Trong khi chính GUI Reference page chúng tôi bắt đầu với ví dụ Hello
World như thế này:
#include <GUIConstantsEx.au3>

GUICreate("Hello World", 200, 100)
GUICtrlCreateLabel("Hello world! How are you?", 30, 10)
GUICtrlCreateButton("OK", 70, 50, 60)
GUISetState(@SW_SHOW)
Sleep(2000)
Bây giờ chúng tôi sẽ kết thúc bằng cách sử dụng mã OnEvents và một số bài viết
của các sự kiện mô tả ở trên.
#include <GUIConstantsEx.au3>

Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Hello World", 200, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateLabel("Hello world! How are you?", 30, 10)
$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)
GUICtrlSetOnEvent($okbutton, "OKButton")
GUISetState(@SW_SHOW)

While 1

Sleep(1000) ; Idle around
WEnd

Func OKButton()
;Note: at this point @GUI_CTRLID would equal $okbutton,
;and @GUI_WINHANDLE would equal $mainwindow
MsgBox(0, "GUI Event", "You pressed OK!")
EndFunc

Func CLOSEClicked()
;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
;and @GUI_WINHANDLE would equal $mainwindow
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting ")
Exit
EndFunc
Nó là đơn giản. Rõ ràng càng có nhiều cửa sổ và kiểm soát các bạn tạo thêm phức
tạp, nhưng nó sẽ cho bạn thấy ở trên các điểm cơ bản.
Nhiều hoạt động và nâng cao Windows
Kiểm soát ID là duy nhất, ngay cả khi bạn có nhiều cửa sổ, nhưng làm thế nào để
chúng tôi xử lý nhiều cửa sổ?
Dưới đây là một ví dụ tương tự như trên, nhưng với một trong những khác
"dummy" cửa sổ.?
#include <GUIConstantsEx.au3>

Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Hello World", 200, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateLabel("Hello world! How are you?", 30, 10)
$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)
GUICtrlSetOnEvent($okbutton, "OKButton")


$dummywindow = GUICreate("Dummy window for testing ", 200, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

GUISwitch($mainwindow)
GUISetState(@SW_SHOW)

While 1
Sleep(1000) ; Idle around
WEnd

Func OKButton()
;Note: at this point @GUI_CTRLID would equal $okbutton
MsgBox(0, "GUI Event", "You pressed OK!")
EndFunc

Func CLOSEClicked()
;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
;@GUI_WINHANDLE will be either $mainwindow or $dummywindow
If @GUI_WINHANDLE = $mainwindow Then
MsgBox(0, "GUI Event", "You clicked CLOSE in the main window! Exiting ")
Exit
EndIf
EndFunc
Keyword Reference
#comments-start
ghi chú trên nhiều dòng
#comments-start



#comments-end
Tham số
ko
Nhận xét
có thể dùng #cs #ce cũng có tác dụng tương tự
hàm liên quan
#include, #include-once
Ví dụ

#comments-start
MsgBox(4096, "", "This won't be executed")
MsgBox(4096, "", "Or this")
#comments-end

;;; #cs
MsgBox(4096, "", "This will print if '#cs' is commented out.")
#ce



Keyword Reference
#comments-start
ghi chú trên nhiều dòng
#comments-start


#comments-end
Tham số
ko
Nhận xét

có thể dùng #cs #ce cũng có tác dụng tương tự
hàm liên quan
#include, #include-once
Ví dụ

#comments-start
MsgBox(4096, "", "This won't be executed")
MsgBox(4096, "", "Or this")
#comments-end

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×