Crée une icône en fusionnant une icône source avec un masque de superposition
#include <WinAPIGdi.au3>
_WinAPI_AddIconOverlay ( $hIcon, $hOverlay )
$hIcon | Handle de l'icône source. |
$hOverlay | Handle de l'icône à utiliser comme masque de superposition. |
Succès: | Retourne le handle de l'icône nouvellement créée. |
Échec: | Retourne 0 et définit @error <> 0. |
Les icônes source et de superposition doivent être de la même taille mais peuvent avoir différentes profondeurs de couleur.
Cette fonction convertit en interne les icônes spécifiées en icône 32 bits par pixel.
Lorsque vous avez fini d'utiliser l'icône, détruisez-la en utilisant la fonction _WinAPI_DestroyIcon().
#include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WinAPIGdi.au3> #include <WinAPIIcons.au3> #include <WinAPIShellEx.au3> #include <WinAPISys.au3> ; Crée une icône avec masque de superposition (48x48) Local $hIcon = _WinAPI_ShellExtractIcon(@SystemDir & '\shell32.dll', 1, 32, 32) Local $hOverlay If Number(_WinAPI_GetVersion()) >= 6.0 Then $hOverlay = _WinAPI_ShellExtractIcon(@SystemDir & '\imageres.dll', 154, 32, 32) Else $hOverlay = _WinAPI_ShellExtractIcon(@SystemDir & '\shell32.dll', 29, 32, 32) EndIf Local $hResult = _WinAPI_AddIconOverlay($hIcon, $hOverlay) _WinAPI_DestroyIcon($hIcon) _WinAPI_DestroyIcon($hOverlay) ; Crée une GUI GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 128, 128) GUICtrlCreateIcon('', 0, 48, 48, 32, 32) GUICtrlSendMsg(-1, $STM_SETIMAGE, 1, $hResult) GUISetState(@SW_SHOW) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE