#include <ListViewConstants.au3>
#include <GUIConstantsEx.au3>

Local $hGUI, $ListView, $button, $item1, $item2, $item3, $msg, $clear, $width

$hGUI = GUICreate("ListView", 240, 260, 100, 200)
GUISetBkColor(0xd5d2af) ; устанавливает цвет фона Gui

$ListView = GUICtrlCreateListView("Колонка1|кол2|кол3  ", 10, 10, 220, 150);,$LVS_SORTDESCENDING)
GUICtrlSetBkColor(-1, 0xFFFEEE) ; устанавливает цвет фона ListView
$item1 = GUICtrlCreateListViewItem("пункт2|кол22|кол23", $ListView)
$item2 = GUICtrlCreateListViewItem("пункт1|кол12|кол13", $ListView)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 6, 0) ; устанавливает иконку пункту
$item3 = GUICtrlCreateListViewItem("пункт3|кол32|кол33", $ListView)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 4, 0)

$button = GUICtrlCreateButton("Текст выбранной строки", 45, 170, 150, 25)
$width = GUICtrlCreateButton("Установить ширину колонок", 35, 200, 170, 25)
$clear = GUICtrlCreateButton("Очистить", 85, 230, 70, 25)

GUISetState()

GUICtrlSetData($item2, "ПУНКТ1")
GUICtrlSetData($item3, "||КОЛ33")
GUICtrlDelete($item1)

While 1
	Switch GUIGetMsg()
		Case $button
			MsgBox(0, "Текст выбранной строки", GUICtrlRead(GUICtrlRead($ListView)), 2, $hGUI)
		Case $clear
			GUICtrlSendMsg($ListView, $LVM_DELETEALLITEMS, 0, 0)
		Case $width
			GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, 80) ; 80 пиксель. Если -1 ($LVSCW_AUTOSIZE), то устанавливает по длине текста.
			GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 1, 55) ; Если -2 ($LVSCW_AUTOSIZE_USEHEADER), то по длине текста в заголовка колонки, но не менее текста пунктов
			GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 2, 60) ; 60 пиксель. Если последняя колонка -2, то до правого края ListView
		Case $ListView
			MsgBox(4096, "ListView", "колонка=" & GUICtrlGetState($ListView), 2, $hGUI)
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd