UDF > WinAPIEx > Menus & Resources > Icons >


_WinAPI_AddIconTransparency

Ajoute une transparence à l'icône 32 bits par pixel spécifiée

#include <WinAPIIcons.au3>
_WinAPI_AddIconTransparency ( $hIcon [, $iPercent = 50 [, $bDelete = False]] )

Paramètres

$hIcon Handle de l'icône.
$iPercent [optionnel] Une valeur (en pour cent) qui indique de combien diminuer la valeur du canal alpha pour l'icône spécifiée. Si ce paramètre est 0, la fonction retourne une icône totalement transparente. La valeur par défaut est 80.
$bDelete [optionnel] Spécifie s'il faut supprimer l'icône après que la fonction ait réussi, les valeurs valides sont:
    True - L'icône sera supprimée si la fonction réussit.
    False - L'icône ne sera pas supprimé, vous devrez libérer l'icône lorsque vous aurez terminé de l'utiliser (par défaut).

Valeur de retour

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

Remarques

Cette fonction travaille uniquement avec des icônes 32 bits par pixel avec canal alpha (RGB + Alpha).
Si l'icône source n'a pas de canal Alpha, l'icône retournée sera la même que l'icône source. Si l'icône source n'est pas 32 bits par pixel, la fonction échoue.

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 <WinAPIIcons.au3>
#include <WinAPIShellEx.au3>

Local $hIcon = _WinAPI_Create32BitHICON(_WinAPI_ShellExtractIcon(@SystemDir & '\shell32.dll', 1, 32, 32), 1)

GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 262, 108)
For $i = 0 To 3
    GUICtrlCreateIcon('', 0, 30 + 58 * $i, 38, 32, 32)
    GUICtrlSendMsg(-1, $STM_SETIMAGE, 1, _WinAPI_AddIconTransparency($hIcon, 100 - 25 * $i))
Next
_WinAPI_DestroyIcon($hIcon)
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE