UDF > WinAPIEx > GDI > BitMaps >


_WinAPI_AddIconOverlay

Crée une icône en fusionnant une icône source avec un masque de superposition

#include <WinAPIGdi.au3>
_WinAPI_AddIconOverlay ( $hIcon, $hOverlay )

Paramètres

$hIcon Handle de l'icône source.
$hOverlay Handle de l'icône à utiliser comme masque de superposition.

Valeur de retour

Succès: Retourne le handle de l'icône nouvellement créée.
Échec: Retourne 0 et définit @error <> 0.

Remarques

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().

En relation

_WinAPI_DestroyIcon

Exemple

#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