GUICtrlCreateListView
创建列表视图(ListView)控件.
GUICtrlCreateListView ( "text", left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )
参数
text
|
列标题文本. 每个标题由 Opt("GUIDataSeparatorChar") 定义的分隔符分隔.
|
left
|
控件左侧的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算左侧位置.
|
top
|
控件上方的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算顶部位置.
|
width
|
[可选] 控件的宽度(默认使用先前的宽度).
|
height
|
[可选] 控件的高度(默认使用先前的高度).
|
style
|
[可选] 控件的样式. 查看附录 GUI 控件样式表.
默认样式 (-1) : $LVS_SHOWSELALWAYS, $LVS_SINGLESEL
强制样式 : $LVS_REPORT
|
exStyle
|
[可选] 控件的扩展样式. 查看附录 扩展样式表 或 ListView 扩展样式表.
默认 (-1) : $LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE
|
返回值
成功:
|
返回控件标识符(控件ID).
|
失败:
|
返回 0.
|
备注
要添加 ListView 控件的项目请使用 GUICtrlCreateListViewItem()
ListView 的默认视图类似资源管理器的 "详细资料" 界面 (LVS_REPORT 样式为强制).
填充空格到列标题栏可定义控件初始列的大小.
列宽度将依据 GUICtrlCreateListViewItem() 添加的项目扩展.
列宽最大将达到约 25 个字符, GUICtrlSetData() 更新时不会调整大小.
要创建 ListView 的图标(大或小图标)视图, 或列表视图, 只需在创建后使用:
GUICtrlSetStyle() 设置样式为 $LVS_ICON, $LVS_LIST 或 $LVS_SMALLICON.
目前尚未实施类似资源管理器那样点击列标题可重排序的功能.
要使整行显示选中状态, 使用 扩展样式 LVS_EX_FULLROWSELECT.
要在默认样式上添加新样式, 可使用 BitOR($GUI_SS_DEFAULT_LISTVIEW, 新样式,...) 语句.
使用上面列出的值必须将 #include <ListViewConstants.au3> 语句写入脚本中.
添加样式 $LVS_EX_CHECKBOXES 到 ListView, 将删除边框. 添加样式 $WS_EX_CLIENTEDGE 将显示边框.
专用标志 $GUI_BKCOLOR_LV_ALTERNATE 可交替设置 Listview 控件与 ListviewItems 项目的背景.
奇数行将获得 GUICtrlSetBkColor() 为 Listview 控件设置的颜色.
偶数行将获得 GUICtrlSetBkColor() 为 ListviewItem 项目设置的颜色.
相关
GUICoordMode (Option), GUICtrlCreateListViewItem, GUICtrlRegisterListViewSort, GUICtrlSetData, GUIDataSeparatorChar (Option), GUIGetMsg
函数示例
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
GUICreate("listview items", 220, 250, 100, 200, -1, $WS_EX_ACCEPTFILES)
GUISetBkColor(0x00E0FFFF) ; will change background color
Local $idListview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 200, 150) ;,$LVS_SORTDESCENDING)
Local $idButton = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
Local $idItem1 = GUICtrlCreateListViewItem("item2|col22|col23", $idListview)
Local $idItem2 = GUICtrlCreateListViewItem("item1|col12|col13", $idListview)
Local $idItem3 = GUICtrlCreateListViewItem("item3|col32|col33", $idListview)
GUICtrlCreateInput("", 20, 200, 150)
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
GUISetState(@SW_SHOW)
GUICtrlSetData($idItem2, "ITEM1")
GUICtrlSetData($idItem3, "||COL33")
GUICtrlDelete($idItem1)
; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton
MsgBox($MB_SYSTEMMODAL, "listview item", GUICtrlRead(GUICtrlRead($idListview)), 2)
Case $idListview
MsgBox($MB_SYSTEMMODAL, "listview", "clicked=" & GUICtrlGetState($idListview), 2)
EndSwitch
WEnd
EndFunc ;==>Example
----------------------------------------
|