# Function Reference

GUICtrlCreateListView

Creates a ListView control for the GUI.

GUICtrlCreateListView ( "text", left, top [, width [, height [, style [, exStyle]]]] )

Parameters

text | definition of columns heading. Each of them are separated with Opt("GUIDataSeparatorChar").
left | The left side of the control. If -1 is used then left will be computed according to GUICoordMode.
top | The top of the control. If -1 is used then top will be computed according to GUICoordMode.
width | [optional] The width of the control (default is the previously used width).
height | [optional] The height of the control (default is the previously used height).
style | [optional] Defines the style of the control. See GUI Control Styles Appendix. default (-1) : $LVS_SHOWSELALWAYS, $LVS_SINGLESEL forced style : $LVS_REPORT
exStyle | [optional] Defines the extended style of the control. See Extended Style Table or ListView Extended Style Table.

Return Value

Success: | Returns the identifier (controlID) of the new control.
Failure: | Returns 0.

Remarks

To add items to a ListView control use GUICtrlCreateListViewItem
The ListView will appear by default as in the Explorer view "Details" (LVS_REPORT style is forced).
You can control initial column size by padding blanks to the column heading definition. The column can be extend during the GUICtrlCreateListViewItem according to item size. Size of a column will be up to around 25 characters. No resizing will be done during an update by GUICtrlSetData.
To create a ListView with Icon-, SmallIcon- or List-style just use after creation:
GUICtrlSetStyle with the styles $LVS_ICON, $LVS_LIST or $LVS_SMALLICON.
Sorting the list by clicking the column name (as in Explorer) is not currently implemented.
To have the entire line visually selected use the extended style LVS_EX_FULLROWSELECT.
To combine styles with the default style use BitOr($GUI_SS_DEFAULT_LISTVIEW, newstyle,...).

Related

GUICtrlCreateListViewItem, GUICoordMode (Option), GUICtrlSetData, GUIGetMsg, GUIDataSeparatorChar (OPtion)

Example

#include <GUIConstants.au3>
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