#include <GUIConstantsEx.au3>
#include <Constants.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>

_Main()

Func _Main()
	Local $iListView, $hListView, $hImage, $hModule, $hBitmap
	Local $exStyles = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)

	GUICreate("Пример", 400, 300)
	$iListView = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
	_GUICtrlListView_SetExtendedListViewStyle($iListView, $exStyles)
	$hListView = GUICtrlGetHandle($iListView)
	GUISetState()
 
	$hModule = _WinAPI_GetModuleHandle(@SystemDir & "\shell32.dll") ; извлекаем дескриптор уже загруженного модуля
	$hBitmap = _WinAPI_LoadImage($hModule, 230, $IMAGE_BITMAP, 0, 0, 0) ; загружаем ресурс Bitmap из загруженного модуля shell32.dll

	; Загружает изображения
	$hImage = _GUIImageList_Create(20, 20)
	_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hListView, 0xFF0000, 20, 20))
	_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hListView, 0x00FF00, 20, 20))
	_GUIImageList_Add($hImage, $hBitmap)
	_GUICtrlListView_SetImageList($iListView, $hImage, 1)

	; Добавляет колонки
	_GUICtrlListView_AddColumn($iListView, "Пункты", 120)

	; Добавляет пункты
	_GUICtrlListView_AddItem($iListView, "Пункт 1", 0)
	_GUICtrlListView_AddItem($iListView, "Пункт 2", 1)
	_GUICtrlListView_AddItem($iListView, "Пункт 3", 2)

	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE
	GUIDelete()
EndFunc   ;==>_Main