Funktionreferenz


_WinAPI_DwmEnableBlurBehindWindow

Beschreibung anzeigen in

Aktiviert den Verschwimmungseffekt eines angegebenen Fensters

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

Parameter

$hWnd Das Handle zu einem Fenster welches den Verschwimmungseffekt hinter den Daten anwenden soll.
$bEnable [optional] Gibt an ob das Fensterhandle registriert oder entfernt werden soll damit der DWM den Verschwimmungseffekt dahinter anwenden kann. Folgende Werte sind gültig:
    True - Registrieren (Standard).
    False - Entfernen.
$bTransition [optional] Gibt an, ob der Übergang gefärbt werden soll um mit maximierten Fenstern übereinzustimmen. Folgende Werte sind gültig:
    True - Das Fenster soll gefärbt werden.
    False - Nicht färben. (Standard).
$hRgn [optional] Der Bereich innerhalb der Clientfläche wessen Hintergrund verschwommen werden soll.
Der standardmäßige Wert 0 wird dafür sorgen, dass der Verschwimmungseffekt auf den gesamten Hintergrund der Clientfläche angewendet wird.

Rückgabewert

Erfolg: 1.
Fehler: 0 und setzt das @error Flag auf ungleich null, das @extended Flag kann den HRESULT-Fehlercode enthalten.

Bemerkungen

Die Alphawerte sind geehrt und das Rendering auf dem Verschwimmungseffekt wird diese Alphawerte nutzen.
Es liegt in der Verantwortung der Anwendung um sicherzustellen, dass die Alphawerte aller Pixel innerhalb des Fensters korrekt sind.
Einige Windowsgrafikgeräteschnittstellenoperationen (Windwos Graphics Device Interface (GDI)) bewahren nicht die Alphawerte, also ist Vorsicht geboten, wenn Kindfenster präsentiert werden,
da die Alphawerte, welche sie bereitstellen, unberechenbar sind.

Diese Funktion muss jedes Mal aufgerufen werden, wenn eine Desktopfenstermanagerkomposition (DWM) umgeschaltet wird.
Man sollte die WM_DWMCOMPOSITIONCHANGED Nachricht für die Kompositionswechselsbenachrichtigung verwenden.

Diese Funktion benötigt Windows Vista oder höher.

Siehe auch

Suche nach DwmEnableBlurBehindWindow in der MSDN Bibliothek.

Beispiel

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

If Not _WinAPI_DwmIsCompositionEnabled() Then
    MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Error', 'Require Windows Vista or later with enabled Aero theme.')
    Exit
EndIf

; Create GUI
Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 400)

GUISetBkColor(0)

; Create the "sheet of glass" effect for the specified region. You must call this function whenever DWM composition is toggled.
_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