UDF > WinAPIEx > GDI > Desktop Window Manager >


_WinAPI_DwmEnableBlurBehindWindow

Permet un effet de flou arrière sur une fenêtre donnée

#include <WinAPIGdi.au3>
_WinAPI_DwmEnableBlurBehindWindow ( $hWnd [, $bEnable = True [, $bTransition = False [, $hRgn = 0]]] )

Paramètres

$hWnd Handle de la fenêtre sur laquelle le flou derrière les données sera appliquée.
$bEnable [optionnel] Indique s'il faut inscrire ou désinscrire le handle de fenêtre pour un flou arrière DWM, les valeurs valides sont:
    True - Inscrit (par défaut).
    False - Désinscrit.
$bTransition [optionnel] Indique si la transition de coloration concerne les fenêtres maximisées, les valeurs valides sont:
    True - La fenêtre maximisée doit être colorée.
    False - Sinon (par défaut).
$hRgn [optionnel] La région dans la zone client dans laquelle appliquer le flou arrière.
Une valeur de zéro (par défaut) appliquera le flou arrière à la zone cliente entière.

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 et définit @error <> 0, @extended contient le code d'erreur HRESULT.

Remarques

Les valeurs alpha de la fenêtre sont honorées et le rendu du flou utilisera ces valeurs alpha.
Il est de la responsabilité de l'application de s'assurer que les valeurs alpha de tous les pixels de la fenêtre sont corrects.
Certaines fonctions GDI ne conservent pas les valeurs alpha, aussi des précautions doivent être prises lors de la présentation des fenêtres enfants parce que les valeurs alpha qu'elles contiennent sont imprévisibles.

Cette fonction doit être appelée chaque fois que la composition Desktop Window Manager (DWM) est activée.
Inscrivez le message WM_DWMCOMPOSITIONCHANGED pour la notification du changement de composition.

Cette fonction nécessite Windows Vista ou version ultérieure.

Voir aussi

Consultez DwmEnableBlurBehindWindow dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIHObj.au3>
#include <WinAPIMisc.au3>

If Not _WinAPI_DwmIsCompositionEnabled() Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Nécessite Windows Vista ou une version ultérieure  avec le thème Aero installé.')
    Exit
EndIf

; Crée une GUI
Local $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 400, 400)

GUISetBkColor(0)

; Crée l'effet "feuille de verre" pour la région spécifiée. Vous devez appeler cette fonction lorsque la composition DWM est activée.
_WinAPI_DwmGetColorizationColor()
Local $hRgn = _WinAPI_CreateEllipticRgn(_WinAPI_CreateRectEx(50, 50, 300, 300))
_WinAPI_DwmEnableBlurBehindWindow($hForm, 1, 0, $hRgn)
If $hRgn Then
    _WinAPI_DeleteObject($hRgn)
EndIf

GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE