Resizes an existing image list
#include <GuiImageList.au3>
_GUIImageList_SetImageCount ( $hWnd, $iNewCount )
$hWnd | Handle to the imagelist |
$iNewCount | The new size of the image list |
Success: | True. |
Failure: | False. |
If an application expands an image list with this function, it must add new images by using the GUIImageList_Replace() function.
If your application does not add valid images at the new indexes, draw operations that use the new indexes will be unpredictable.
If you decrease the size of an image list by using this function, the truncated images are freed.
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
Local $idListview, $hImage
Local $iStylesEx = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)
GUICreate("ImageList Set Image Count", 400, 300)
$idListview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
_GUICtrlListView_SetExtendedListViewStyle($idListview, $iStylesEx)
GUISetState(@SW_SHOW)
; Load images
$hImage = _GUIImageList_Create(16, 16, 5, 3)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 110)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 131)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 165)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 168)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 137)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 146)
_GUICtrlListView_SetImageList($idListview, $hImage, 1)
; Add columns
_GUICtrlListView_AddColumn($idListview, "Column 1", 120)
_GUICtrlListView_AddColumn($idListview, "Column 2", 100)
_GUICtrlListView_AddColumn($idListview, "Column 3", 100)
; Add items
_GUICtrlListView_AddItem($idListview, "Row 1: Col 1", 0)
_GUICtrlListView_AddSubItem($idListview, 0, "Row 1: Col 2", 1, 1)
_GUICtrlListView_AddSubItem($idListview, 0, "Row 1: Col 3", 2, 2)
_GUICtrlListView_AddItem($idListview, "Row 2: Col 1", 1)
_GUICtrlListView_AddSubItem($idListview, 1, "Row 2: Col 2", 1, 2)
_GUICtrlListView_AddItem($idListview, "Row 3: Col 1", 2)
_GUICtrlListView_AddItem($idListview, "Row 4: Col 1", 3)
_GUICtrlListView_AddItem($idListview, "Row 5: Col 1", 4)
_GUICtrlListView_AddSubItem($idListview, 4, "Row 5: Col 2", 1, 3)
_GUICtrlListView_AddItem($idListview, "Row 6: Col 1", 5)
_GUICtrlListView_AddSubItem($idListview, 5, "Row 6: Col 2", 1, 4)
_GUICtrlListView_AddSubItem($idListview, 5, "Row 6: Col 3", 2, 3)
GUISetState(@SW_LOCK)
MsgBox($MB_SYSTEMMODAL, "Information", "Setting Image Count")
_GUIImageList_SetImageCount($hImage, 3)
GUISetState(@SW_UNLOCK)
; Loop until the user exits.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example