Remplace une image par une ic�ne ou un curseur
#include <GuiImageList.au3>
_GUIImageList_ReplaceIcon ( $hWnd, $iIndex, $hIcon )
$hWnd | Handle de la liste d'images |
$iIndex | Index de l'image � remplacer. Si -1, la fonction ajoute l'image � la fin de la liste. |
$hIcon | Handle de l'ic�ne ou du curseur qui contient le bitmap et le masque pour la nouvelle image |
Succ�s: | Retourne l'index de l'image. |
�chec: | Retourne -1. |
Parce que le syst�me ne sauvegarde pas $hIcon vous pouvez le d�truire apr�s le retour de la fonction si l'ic�ne ou le curseur a �t� cr�� par la fonction CreateIcon.
Vous n'avez pas besoin de d�truire $hIcon si elle a �t� charg�e par la fonction LoadIcon, le syst�me lib�re automatiquement une ressource d'ic�ne quand elle n'est plus n�cessaire.
#include <GUIConstantsEx.au3> #include <GuiImageList.au3> #include <GuiListView.au3> #include <WinAPIIcons.au3> #include <WindowsConstants.au3> Example() Func Example() Local $idListview, $hImage Local $sWow64 = "" If @AutoItX64 Then $sWow64 = "\Wow6432Node" Local $sAutoItDir = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") GUICreate("ImageList AddIcon", 490, 300) $idListview = GUICtrlCreateListView("", 2, 2, 484, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT)) GUISetState(@SW_SHOW) ; Cr�e une liste d'images avec des images $hImage = _GUIImageList_Create(11, 11) AddIcon($hImage, $sAutoItDir & "\Icons\au3.ico") AddIcon($hImage, $sAutoItDir & "\Icons\au3script_v9.ico") AddIcon($hImage, $sAutoItDir & "\Icons\au3script_v10.ico") AddIcon($hImage, $sAutoItDir & "\Icons\au3script_v11.ico") _GUICtrlListView_SetImageList($idListview, $hImage, 1) ; Ajoute des colonnes _GUICtrlListView_AddColumn($idListview, "Column 1", 100, 0, 0) _GUICtrlListView_AddColumn($idListview, "Column 2", 100, 1, 1) _GUICtrlListView_AddColumn($idListview, "Column 3", 100, 2, 2) _GUICtrlListView_AddColumn($idListview, "Column 4", 100, 1, 3) _GUICtrlListView_AddColumn($idListview, "Column 5", 100) ; Boucle jusqu'� ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example ; C'est une mani�re longue d'ajouter une ic�ne. Utilisez _GUIImageList_AddIcon � la place Func AddIcon($hWnd, $sFile, $iIndex = 0) Local $pIcon, $tIcon, $hIcon $tIcon = DllStructCreate("int Icon") _WinAPI_ExtractIconEx($sFile, $iIndex, 0, $pIcon, 1) $hIcon = DllStructGetData($tIcon, "Icon") _GUIImageList_ReplaceIcon($hWnd, -1, $hIcon) _WinAPI_DestroyIcon($hIcon) EndFunc ;==>AddIcon