Hier ein neues kleines Script von mir.
Fadet ein GUI Fenster ein oder aus.
Beim fade "out" kann man eine Hintergrundfarbe für die GUI wählen.
Es gibt ja viele ähnliche Scripte mit WinSetTrans in einem Loop.
Ich nutze bei mir den dllcall von "Raindancer"
Bei dem fade "in" habe ich Time nicht veränderbar gemacht, weil ich denke
das 1000 als default reicht.
Der Aufruf ist:
_WinFade_BK( WinTitle, Fade , Color , Time , Exit)
default sind,
fade "out", keine Farbe, Time = 2000 und Exit.
Exit beendet das Programm nach dem Fade.
Beispiel:
Spoiler anzeigen
#include <GUIConstants.au3>
#Region ### START Koda GUI section ###
$Frm = GUICreate("_WinFade_BK", 197, 160, 384, 218)
$Btn_1 = GUICtrlCreateButton("Button1", 16, 40, 75, 25, 0)
$Btn_2 = GUICtrlCreateButton("Button2", 104, 40, 75, 25, 0)
$Btn_3 = GUICtrlCreateButton("Close - green", 104, 80, 75, 25, 0)
$Btn_4 = GUICtrlCreateButton("Close - blue", 16, 80, 75, 25, 0)
_WinFade_BK($Frm, "in")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_WinFade_BK($Frm, "out", 0xFFFF00); yellow
Exit
Case $Btn_3
_WinFade_BK($Frm, "out", 0xC0DCC0); green
Case $Btn_4
_WinFade_BK($Frm, "out", 0x9DB9EB); blue
; oder _WinFade_BK($Frm, "", 0x9DB9EB); blue
EndSwitch
WEnd
;====================================================================================================
; Function : _WinFade_BK( WinTitle, Fade , Color , Time , Exit)
; Description : Fade a Window in or out ( Mit Hintergrundfarbe des GUI-Fensters bei fade "out"
; Author - Date - V : Thunder-man (Frank Michalski) - 27. September 2007 - V 1.00
; Parameter : Fade = "out" or "in" default = "out"
; Time (nur bei fade "out" default = 2000)
; Exit = True or False default = True ( Programm wird nach dem Fade, beendet)
; Example : _WinFade_BK($Frm, "out", 0xC0DCC0); green
;=====================================================================================================
Func _WinFade_BK($WinTitle, $Fade = "out", $BkColor = "", $iTime = 2000, $Exit = True)
If $Fade = "in" Then
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $WinTitle, "int", 1000, "long", 0x00080000);By Raindancer - fade-in
ElseIf $Fade = "out" or $Fade = "" Then
If Not $BkColor = "" Then
GUISetBkColor($BkColor)
EndIf
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $WinTitle, "int", $iTime, "long", 0x00090000);By Raindancer -fade-out
If $Exit Then
Exit
EndIf
EndIf
EndFunc ;==>_WinFade_BK
;=====================================================================================================