Công : Trả về ID của listview vừa được tạo Hỏng : Trả về 0 Chú ý Để thêm các mục vào Listview , sử dụng hàm GUICtrlCreateListViewItem ListView sẽ xuất hiện mặc định như trong windo
Trang 1left Khoảng cách canh từ lề trái của GUI (tọa độ x) Nếu sử dụng -1, thì lề trái
được tính theo GUICoordMode
Top Khoảng cách canh từ lề trên của GUI (tọa độ y) Nếu sử dụng -1, thì lề trái
được tính theo GUICoordMode
width [tùy chọn] độ rộng của control Mặc định là độ rộng đã dùng trước đó height [tùy chọn] chiều cao của control Mặc định là chiều cao đã dùng trước đó
style
[tùy chọn] định nghĩa style cho control Xem GUI Control Styles
Appendix
default (-1) : $LVS_SHOWSELALWAYS, $LVS_SINGLESEL
style bắt buộc : $LVS_REPORT
exStyle [tùy chọn] định nghĩa style mở rộng cho control Xem Extended Style
Table hoặc ListView Extended Style Table
Giá trị trả về
Th
Công : Trả về ID của listview vừa được tạo
Hỏng : Trả về 0
Chú ý
Để thêm các mục vào Listview , sử dụng hàm
GUICtrlCreateListViewItem
ListView sẽ xuất hiện mặc định như trong windows explorer với view là Detail (LVS_REPORT là bắt buộc)
Bạn có thể khởi tạo kích thước cho một cột bằng cách nối thêm các khoảng
Trang 2trắng vào tiêu đề của cột Cột có thể được mở rộng theo chiều dài của mục-(item)-được-thêm-vào bởi GUICtrlCreateListViewItem Kích thước của một cột sẽ lên đến 25 ký tự Nhưng sẽ không có một sự resize được diễn ra khi bạn cập nhật nội dung ListView bằng GuiCtrlSetData
Để tạo một ListView với icon, icon nhỏ hoặc chỉ là một kiểu List , sau khi tạo bạn gọi hàm GUICtrlSetStyle với các style : $LVS_ICON,
$LVS_SMALLICON hoặc $LVS_LIST
Chức năng sắp xếp các mục trong ListView bằng cách nhấp vào tiêu đề của cột (như trong Explorer) thì không có tác dụng
Khi bạn chọn một mục trong ListView, bạn muốn toàn bộ dòng đó được phát sáng thay vì chỉ có ở một cột thì hãy gọi style mở
rộng $LVS_EX_FULLROWSELECT
Để kết hợp style mặc định với style khác , bạn
gọi BitOr($GUI_SS_DEFAULT_LISTVIEW, newstyle, )
Thư viện cần thiết cho các tham số nêu ở trên là : #include
<ListViewConstants.au3>
$GUI_BKCOLOR_LV_ALTERNATE là một cờ đặc biệt , có thể dùng với Listview để làm cho màu nền giữa các dòng có thể xen kẽ nhau
- Dòng chẵn sẽ lấy màu được thiết lập bởi hàm GUICtrlSetBkColor của control ListView
- Dòng lẻ sẽ lấy màu được thiết lập bởi hàm GUICtrlSetBkColor của control ListViewItem
Ví dụ
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Example()
Trang 3Func Example()
Local $listview, $button, $item1, $item2, $item3, $input1, $msg
GUICreate("listview items", 220, 250, 100, 200, -1,
$WS_EX_ACCEPTFILES)
GUISetBkColor(0x00E0FFFF) ; will change background color
$listview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 200, 150);,$LVS_SORTDESCENDING)
$button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
$item1 = GUICtrlCreateListViewItem("item2|col22|col23", $listview)
$item2 = GUICtrlCreateListViewItem("item1|col12|col13", $listview)
$item3 = GUICtrlCreateListViewItem("item3|col32|col33", $listview)
$input1 = GUICtrlCreateInput("", 20, 200, 150)
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
GUISetState()
GUICtrlSetData($item2, "ITEM1")
GUICtrlSetData($item3, "||COL33")
GUICtrlDelete($item1)
Do
$msg = GUIGetMsg()
Select
Case $msg = $button
MsgBox(0, "listview item", GUICtrlRead(GUICtrlRead($listview)), 2) Case $msg = $listview
MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2) EndSelect
Until $msg = $GUI_EVENT_CLOSE
Trang 4EndFunc ;==>Example
GUICtrlCreateListViewItem
Tạo ra một mục (item) mới để thêm vào trong ListView
GUICtrlCreateListViewItem ( "text", listviewID )
Các tham số
Text Văn bản của các mục (item) phụ, mỗi mục được ngăn cách với
Opt("GUIDataSeparatorChar")
listviewID Định danh (ID) của control ListView mà bạn muốn thêm item vào
Giá trị trả về
Th
Công : Định danh (ID) của mục vừa được tạo
Failure: Trả về 0
Chú ý
Hàm này tạo ra những mục (item) Listview đặc biệt, chúng có thể được chọn, có tính năng như những control bình thường và có thể được thiết lập với GUICtrlSetData
Các item này có thể được xóa bỏ như các control khác khi gọi hàm GUICtrlDelete
Những mục trong Listview có thể được kéo thả vào trong một control Edit hay Input , khi được thiết lập trạng thái (state)
$GUI_DROPACCEPTED
Xem hàm GUICtrlCreateListView về việc resize lại kích thước của các cột
Trang 5$GUI_BKCOLOR_LV_ALTERNATE là một cờ đặc biệt , có thể dùng với Listview để làm cho màu nền giữa các dòng có thể xen kẽ nhau
- Dòng chẵn sẽ lấy màu được thiết lập bởi hàm GUICtrlSetBkColor của control ListView
- Dòng lẻ sẽ lấy màu được thiết lập bởi hàm GUICtrlSetBkColor của control ListViewItem
Ví dụ
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $listview, $button, $item1, $item2, $item3, $input1, $msg
GUICreate("listview items", 220, 250, 100, 200, -1,
$WS_EX_ACCEPTFILES)
GUISetBkColor(0x00E0FFFF) ; will change background color
$listview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 200,
150);,$LVS_SORTDESCENDING)
$button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
$item1 = GUICtrlCreateListViewItem("item2|col22|col23", $listview)
$item2 = GUICtrlCreateListViewItem(" item1|col12|col13",
$listview)
$item3 = GUICtrlCreateListViewItem("item3|col32|col33", $listview)
$input1 = GUICtrlCreateInput("", 20, 200, 150)
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and
dropping
GUISetState()