Funktionreferenz


_WinAPI_AddIconTransparency

Beschreibung anzeigen in

Fügt einem 32 Bits-pro-Pixel Icon Transparenz hinzu

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

Parameter

$hIcon Das Handle zu einem Quellicon.
$iPercent [optional] Ein Wert (in Prozent) welcher angibt um wie viel die Werte des Alphakanals reduziert werden sollen. Wenn dieser Parameter 0 ist, so gibt die Funktion ein vollkommen transparentes Icon zurück. Standard ist 50.
$bDelete [optional] Gibt an ob das Icon nach einem erfolgreichen Durchlauf der Funktion gelöscht werden soll, gültige Werte sind:
    True - Das Icon wird nach einem erfolgreichen Durchlauf gelöscht.
    False - Nicht löschen, das Icon muss im Nachhinein, wenn die Arbeit damit abgeschlossen ist, selbstständig freigegeben werden (Standard).

Rückgabewert

Erfolg: Das handle zum neu erzeugten Icon.
Fehler: 0 und setzt das @error Flag auf ungleich null.

Bemerkungen

Diese Funktion funktioniert nur mit 32 Bits-pro-Pixel mit einem Alphakanal (RGB + Alpha) Icons.
Wenn das Quellicon keinen Alphakanal hat, so wird das resultierende Icon dasselbe wie das Quellicon sein. Wenn das Quellicon nicht 32 Bits-pro-Pixel ist, so wird diese Funktion fehlschlagen.

Wenn die Arbeit mit dem Icon abgeschlossen ist, sollte man es mit _WinAPI_DestroyIcon() zerstören.

Verwandte Funktionen

_WinAPI_DestroyIcon

Beispiel

#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