Met � jour la transparence d'un bitmap d'une fen�tre de type Layered
#include <WinAPISysWin.au3>
_WinAPI_UpdateLayeredWindowEx ( $hWnd, $iX, $iY, $hBitmap [, $iOpacity = 255 [, $bDelete = False]] )
$hWnd | Handle d'une fen�tre Layered. Une fen�tre Layered est cr��e en sp�cifiant $WS_EX_LAYERED lors de sa cr�ation. |
$iX | La nouvelle position de la partie gauche de la fen�tre. |
$iY | La nouvelle position de la partie sup�rieure de la fen�tre. |
$hBitmap | Handle du bitmap qui sera d�fini dans la fen�tre Layered. |
$iOpacity | [optionnel] La valeur alpha de la transparence � utiliser sur l'ensemble du bitmap source. Par d�faut, 255. |
$bDelete | [optionnel] Sp�cifie s'il faut supprimer le bitmap apr�s mise � jour de la fen�tre, les valeurs valides sont: True - Le bitmap sera supprim� si la fonction r�ussit. False - Le bitmap ne sera pas supprim�, il faudra le lib�rer lorsque vous aurez termin� de l'utiliser (par d�faut). |
Succ�s: | Retourne True |
�chec: | Retourne False |
Pour de meilleures performances de dessin par la fen�tre Layered et toutes les fen�tres au dessous, la fen�tre Layered devrait �tre aussi petite que possible.
Si $iX et $iY sont tout deux �gaux � (-1), la position de la fen�tre actuelle ne changera pas.
#include <GDIPlus.au3> #include <Misc.au3> #include <WinAPIHObj.au3> #include <WinAPISysWin.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Local $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & '\Extras\Exclamation.png') Local $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), _GDIPlus_ImageGetWidth($hImage), _GDIPlus_ImageGetHeight($hImage), -1, -1, $WS_POPUPWINDOW, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST)) Local $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() GUISetState(@SW_SHOW) Local $iOpacity = 0, $iStep = 3 Do _WinAPI_UpdateLayeredWindowEx($hForm, -1, -1, $hBitmap, $iOpacity) $iOpacity += $iStep If ($iOpacity = 0) Or ($iOpacity = 255) Then $iStep = -$iStep Sleep(500) EndIf Sleep(10) Until _IsPressed('1B') _WinAPI_DeleteObject($hBitmap)