Function Reference

首页  后退  前进

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

----------------------------------------