Adds a transparency to the specified 32 bits-per-pixel icon
#include <WinAPIIcons.au3>
_WinAPI_AddIconTransparency ( $hIcon [, $iPercent = 50 [, $bDelete = False]] )
$hIcon | Handle to the icon. |
$iPercent | [optional] A value (in percent) that specifies how much to decrease the values of the alpha channel for the specified icon. If this parameter is 0, the function returns a fully transparent icon. Default is 80. |
$bDelete | [optional] Specifies whether to delete the icon after the function is successful, valid values: True - Icon will be deleted if the function succeeds. False - Do not delete, you must release the icon when you are finished using it (Default). |
Success: | Handle to the newly created icon. |
Failure: | 0 and sets the @error flag to non-zero. |
This function only works with 32 bits-per-pixel with alpha chanel (RGB + Alpha) icons.
If the source icon has no alpha chanel, the resulting icon will be the same as the source icon. If the source icon is non 32 bits-per-pixel, the function fails.
When you are finished using the icon, destroy it using the _WinAPI_DestroyIcon() function.
#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