AutoIT tut 29: tổng hợp về GUICtrlSet

0
0
(0)

GUICtrlSetColor

Thay đổi màu chữ cho control

GUICtrlSetColor ( controlID, textcolor)

Các tham số  

controlID Định danh của control , được trả về bởi hàm GUICtrlCreate….
textcolor Màu RGB muốn dùng

Giá trị trả về

Th. Công : Trả về 1
Hỏng : Trả về 0

Chú ý

Ø       Chỉ có Button, Label, Checkbox, Group, Radio, Edit, Input, List, Listview, ListviewItem, Treeview, TreeviewItem, Graphic và Progress là có thể được thay đổi màu chữ

Ø       Checkbox, Radio hoặc Progress sẽ không được vẽ lại nếu sử dụng Windows XP style

Ø       Button luôn được vẽ lại trong “Windows Classic style”.

Ø       Những phiên bản trước của AutoIt (v3.0.102) sử dụng định dạng màu BGR , những phiên bản mới hơn sử dụng RGB theo mặc định. Tuy nhiên bạn có thể thay đổi điều này bằng lựa chọn ColorMode.

GUICtrlSetData

Chỉnh sửa dữ liệu hiển thị trên control.

GUICtrlSetData ( controlID, data [, default] )

Các tham số

controlID Định danh của control , được trả về từ GUICtrlCreate…
dataĐối với Combo, List, ListView, ListViewItem : văn bản của mỗi item  được ngăn cách bởi Opt(“GUIDataSeparatorChar”,…)
Đối với Progress : giá trị % (phần trăm)
Slider : giá trịGroup, Label, Button, Checkbox, Radio, Combo, List, Input, Edit, TabItem : văn bản muốn hiển thịDate : ngày hoặc thời gian phụ thuộc vào style của controlTreeViewItem: văn bản cần hiển thị
Dummy : giá trị
default[tùy chọn]
với Combo, List : giá trị sẽ làm mặc địnhVới Edit, Input : nếu bạn định nghĩa nó không phải là chuỗi rỗng “” ,  chuỗi “data” được sẽ được chèn vào vị trí của con nháy (caret) , không viết đè chuỗi gốc.

Giá trị trả về  

Th. Công : Trả về 1
Hỏng :Trả về 0
 Trả về -1 nếu data không hợp lệ

Chú ý

Ø       Đối với control Combo hoặc List :

–  Nếu “data” trùng với một mục nhập đã tồn tại , nó sẽ được gán như mặc định

–  Nếu “data” bắt đầu với một ký tự ngăn cách (GUIDataSeparatorChar) hoặc chuỗi rỗng , danh sách trước đó sẽ bị hủy.

Ø       Đối với control  ListView, ListViewItem :

Ø       Để cập nhật văn bản cho một cột chỉ định , thì chỉ cần bỏ qua những cột khác. Ví dụ , muốn cập nhật tiêu đề cho cột thứ ba , ta gán “||new_text”

Ø       Nếu “new_text” là rỗng , cột và mục con (subitem) trong cột sẽ bị xóa. Ví dụ , “|” sẽ xóa cột và subitem thứ hai , “” sẽ xóa cột/subitem thứ nhất.

GUICtrlSetFont

Thiết lập font chữ cho control

GUICtrlSetFont (controlID, size [, weight [, attribute [, fontname]]] )

Các tham số

controlID ID của control , được trả về từ hàm GUICtrlCreate…
size Size của font (mặc định là 8.5)
weight[tùy chọn] trọng lượng của font (default 400 = bình thường)
attribute[tùy chọn] muốn thiết lập định dạng cho ký tự , ta có in nghiêng : 2 , gạch chân : 4 , gạch ngang (strike) : 8 . Muốn kết hợp nhiều định dạng ta cộng các giá trị với nhau. Ví dụ , muốn có chữ in nghiêng và gạch chân , ta dùng 2+4.
fontname[tùy chọn] tên của font chữ sẽ dùng

Giá trị trả về  

Th. Công :Trả về 1
Hỏng :Trả về 0

Chú ý

Ø       Theo mặc định , control sẽ sử dụng font được thiết lập từ GUISetFont

Ø       Size có thể là một số thập phân , như 8.5

Ø       Vài control như Label , mặc định giá trị 8.5 có thể được thay bằng 9 theo ghi nhận từ Windows Theme

Ø       Xem Appendix để có được một danh sách đầy đủ về các font của windows

GUICtrlSetOnEvent

Định nghĩa một hàm bởi người sử dụng và hàm này sẽ được gọi mỗi khi control được click vào

GUICtrlSetOnEvent ( controlID, “function” )

Các tham số

controlID ID của control , được trả về từ hàm GUICtrlCreate….
function Tên của hàm sẽ gọi khi cần control được click

Giá trị trả về

Th. Công : Trả về 1
Hỏng : Trả về 0

Chú ý

Ø       Các hàm OnEvent (theo sự kiện) chỉ được gọi khi lựa chọn GUIOnEventMode được thiết lập sang giá trị 1 – trong chế độ này thì chế độ GUIGetMsg sẽ KHÔNG được sử dụng

Ø       Khi user-function được gọi , id của control có thể được truy lại bằng macro @GUI_CTRLID.

Ø       Nếu bạn cần handle của cửa sổ và handle của control thì có thể truy lại với macro @GUI_WINHANDLE hoặc @GUI_CTRLHANDLE.

Ø       Nếu hàm là một chuỗi rỗng “”, thì không có gì xảy ra khi bạn click vào control.

GUICtrlSetPos

Thay đổi vị trí của control trên cửa sổ GUI

GUICtrlSetPos ( controlID, left, top [, width [, height]] )

Các tham số

controlID ID của control , id này được trả về từ hàm GUICtrlCreate….
left Lề trái (tọa độ x) cần gán
top Lề trên (tọa độ y) cần gán
width[tùy chọn] độ rộng mới cho control
height[tùy chọn] chiều cao mới cho control

Giá trị trả về                          

Th. Công : Trả về 1
Hỏng : Trả về 0

Chú ý

None.

GUICtrlSetState

Thay đổi trạng thái của control

GUICtrlSetState ( controlID, state )

Các tham số

controlID ID của control , được trả về từ hàm GUICtrlCreate….
state Xem bảng trạng thái bên dưới

Giá trị trả về

Th. Công : Trả về 1
Hỏng : Trả về 0

Chú ý

Bảng trạng thái

State Miêu tả
Không thay đổi0
$GUI_UNCHECKEDRadio, Checkbox hoặc ListViewItem sẽ không được đánh dấu (uncheck)
$GUI_CHECKEDRadio, Checkbox or ListViewItem sẽ được đánh dấu (check)
$GUI_INDETERMINATECheckbox có ba trạng thái thuộc tính sẽ bị tô màu xám
$GUI_AVISTARTAvi sẽ bắt đầu play
$GUI_AVISTOPAvi sẽ dừng chơi
$GUI_AVICLOSEAvi sẽ dừng chơi và giải phóng tài nguyên.
$GUI_DROPACCEPTEDControl sẽ chấp nhận thao tác kéo thả : từ file hoặc từ control khác . Xem chú ý
$GUI_NODROPACCEPTEDControl sẽ không chấp nhận kéo thả
$GUI_SHOWControl sẽ hiển thị. Trên control Tabitem sẽ chọn tab đầu đầu tiên để hiển thị
$GUI_HIDEControl sẽ ẩn
$GUI_ENABLEControl sẽ được kích hoạt để tương tác được
$GUI_DISABLEControl bị vô hiệu không tương tác (sẽ bị tô màu xám)
$GUI_FOCUSControl sẽ được đưa tiêu điểm được chọn hoặc input
$GUI_NOFOCUSListview sẽ mất tiêu điểm.
$GUI_DEFBUTTONControl sẽ được thiết lập như nút mặc định trên cửa sổ. Xem phần chú ý đối với các TreeviewItem
$GUI_EXPANDTreeViewItem mở rộng các mục con
$GUI_ONTOPControl sẽ có thuộc tính ở-trên (ontop) đối với cửa 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 , 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.

Giá trị trả về

Th. Công :Trả về 1
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ụ.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Leave A Reply

Your email address will not be published.