GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 29

Chia sẻ: Asdasdsdqeqwdd Asdasdsadasd | Ngày: | Loại File: PDF | Số trang:6

0
96
lượt xem
45
download

GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 29

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

Tham khảo tài liệu 'giới thiệu về autoit-lập trình trên autoit part 29', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 29

  1. Giá trị trả về Th. Trả về 1 Công : Hỏng : Trả về 0 Chú ý Bảng trạng thái State Miêu tả Không thay đổi 0 Radio, Checkbox hoặc ListViewItem sẽ không $GUI_UNCHECKED được đánh dấu (uncheck) Radio, Checkbox or ListViewItem sẽ được đánh $GUI_CHECKED dấu (check) Checkbox có ba trạng thái thuộc tính sẽ bị tô màu $GUI_INDETERMINATE xám $GUI_AVISTART Avi sẽ bắt đầu play $GUI_AVISTOP Avi sẽ dừng chơi $GUI_AVICLOSE Avi sẽ dừng chơi và giải phóng tài nguyên. Control sẽ chấp nhận thao tác kéo thả : từ file hoặc $GUI_DROPACCEPTED từ control khác . Xem chú ý $GUI_NODROPACCEPTED Control sẽ không chấp nhận kéo thả Control sẽ hiển thị. Trên control Tabitem sẽ chọn $GUI_SHOW tab đầu đầu tiên để hiển thị
  2. $GUI_HIDE Control sẽ ẩn $GUI_ENABLE Control sẽ được kích hoạt để tương tác được Control bị vô hiệu không tương tác (sẽ bị tô màu $GUI_DISABLE xám) Control sẽ được đưa tiêu điểm được chọn hoặc $GUI_FOCUS input $GUI_NOFOCUS Listview sẽ mất tiêu điểm. Control sẽ được thiết lập như nút mặc định trên cửa $GUI_DEFBUTTON sổ. Xem phần chú ý đối với các TreeviewItem $GUI_EXPAND TreeViewItem mở rộng các mục con Control sẽ có thuộc tính ở-trên (ontop) đối với cửa $GUI_ONTOP sổ (zOrdering). Các trạng thái có thể được cộng lại với nhau để có đa thuộc tính , ví dụ như $GUI_DISABLE + $GUI_HIDE sẽ làm cho control bị vô hiệu và ẩn đi. Nếu control AVI bị làm ẩn với $GUI_HIDE , nó nên được đóng lại với $GUI_AVICLOSE. Trạng thái của menu ngữ cảnh "contextmenu" không thể bị thay đổi Trạng thái của menu hoặc menuitem không thể được ẩn. Trạng thái của một "listviewitem" có thể bị thay đổi nếu nó liên kết với một Listview mà listview này được tạo với style mở rộng $LVS_EX_CHECKBOXES. $GUI_FOCUS và $GUI_NOFOCUS có thể được sử dụng trên listviewitem riêng biệt ,
  3. style $LVS_SHOWSELALWAYS sẽ làm cho mục được chọn luôn hiển thị thậm chí nó không có tiêu điểm. ! Thông tin quan trọng đối với $GUI_EXPAND : trạng thái này chỉ hữu dụng cho các TreeViewItem. Nếu bạn muốn sử dụng hành động này , ít nhất phải có một nhánh-con trong TreeView mà bạn đã tạo ! Nếu bạn muốn chọn mục khác trong một TreeView , bạn có thể dùng $GUI_FOCUS – TreeView mẹ sẽ lấy tiêu điểm của cửa sổ và mục được chỉ định sẽ bị đánh dấu như là được chọn Nếu muốn thiết lập một mục trong TreeView làm mục mặc định , có nghĩa là nó sẽ bị vẽ in đậm. Bạn có thể gọi $GUI_DEFBUTTON – để tắt nó thì sử dụng một giá trị khác $GUI_DEFBUTTON, chẳng hạn như 0. Trạng thái này sẽ không được trả về bởi GUICtrlGetState. Với những control có tiếp nhận $GUI_EVENT_DROPPED, macro @GUI_DRAGID sẽ trả về controlID từ nơi mà sự lôi-kéo bắt đầu (-1 nếu từ một file, @GUI_DRAGFILE chứa tên tập tin đang được kéo đi) và @GUI_DROPID trả về controlID của control được thả Chỉ việc lôi-kéo một ListViewItem sẽ khởi động tiến trình kéo và thả (drag&drop). Macro @GUI_DRAGID sẽ là ID của ListView GUICtrlSetStyle Thay đổi style cho control GUICtrlSetStyle ( controlID, style [, exStyle] ) Các tham số controlID ID của control , được trả về từ hàm GUICtrlCreate…. style Style cần thiết lập cho control . Xem GUI Control Styles Appendix. exStyle [tùy chọn] style mở rộng muốn thiết lập. Xem Extended Style Table.
  4. Giá trị trả về Th. Trả về 1 Công : Hỏng : Trả về 0 Chú ý Vài style không thể được thay đổi một cách linh động. Xem tài liệu MSDN. Style cho combo box $CBS_UPPERCASE là một ví dụ. Xử lý sự kiện trên GUI Khi bạn tạo ra một cửa sổ và các thành phần con trên đó thì tất nhiên chúng phải được dùng cho một mục đích mà bạn đã vạch ra , nhập liệu, vẽ, chơi nhạc, tìm kiếm file,…. Nhưng làm sao biết được rằng cái gì đang diễn ra trên GUI của bạn , phím nào vừa được nhấn ? chuột trái vừa nhấp ở đâu ? mục nào được chọn ?…. Tất cả những cái này chúng ta sẽ nắm bắt được bởi vì chúng do windows tạo ra và AutoIt sẽ cung cấp cho chúng ta cách để biết được và xử lý được những sự kiện đã và đang diễn ra trên cửa sổ. AutoIt hỗ trợ cho ta hai phương pháp để xử lý sự kiện : Sử dụng vòng lặp thông điệp Sử dụng chế độ OnEvent Vòng lặp thông điệp Trong chế độ này , bạn sẽ sử dụng một vòng lặp khép kín để nhận liên tục các sự kiện nào sẽ xảy ra trên GUI và ứng với mỗi sự kiện ta sẽ viết các lệnh tương ứng. Để nhận được các sự kiện nào đã xảy ra trên GUI ta dùng hàm GUIGetMsg. Đặc điểm của chế độ này là vòng lặp và hàm GUIGetMsg sẽ được gọi nhiều lần trong một giây.
  5. Trong trường hợp GUI là vấn đề bạn quan tâm trên cả ,và tất cả những gì bạn cần là đợi sự kiện xảy ra thì chế độ vòng lặp thông điệp sẽ rất phù hợp để bạn làm những việc này. Chế độ OnEvent OnEvent không sử dụng vòng lặp để tiếp nhận sự kiện , mà sử dụng một hàm đã định nghĩa trước đó để phản ứng lại với một sự kiện và/hoặc một control tương ứng. Khi hàm được gọi thì đoạn chương trình chính tạm dừng , hàm được gọi hoàn tất thì đoạn chương trình chính sẽ chạy trở lại. Khi GUI không phải là vấn đề quan tâm hàng đầu của bạn , và bạn còn có nhiều tác vụ khác cần xử lý bên trong đoạn chương trình chính thì OnEvent là chế độ thích hợp nhất. VÒNG LẶP THÔNG ĐIỆP Trong chế độ vòng lặp thông điệp , đoạn mã của sẽ trải qua phần lớn thời gian làm việc trong một vòng lặp khép kín. Vòng lặp này chỉ đơn giản là sử dụng các giá trị được trả về từ hàm GUIGetMsg( ) . Các giá trị đó cho biết sự kiện nào đang xảy ra trên GUI (nút được nhấn , đóng gui, ... ). Chế độ này chính là chế độ xử lý mặc định của AutoIt dành cho GUI. Trong chế độ vòng lặp thông điệp bạn chỉ nhận được các sự kiện khi bạn chủ động gọi và nhận từ GUIGetMsg , vì vậy bạn phải đảm bảo rằng hàm được gọi nhiều lần trong một giây , ngược lại có thể làm cho GUI của bạn không có phản ứng. Dạng cơ bản của vòng lặp thông điệp Dạng chung của vòng lặp thông điệp có thể trình bày như sau : While 1 $msg = GUIGetMsg() ... ... WEnd
Đồng bộ tài khoản