Jump to content
Sign in to follow this  
stamandster

UDF - _WinSetTran_Fade

Recommended Posts

stamandster

I thought I'd share this little script I made. I don't know if something like this has already been made but I found it useful. Mods, please feel free to move/delete.

This UDF will fade transparency for a specified window.

$FromNumer -> A number that it should fade from; needs to be numerical

$ToNumber -> A numer that it should fade to; needs to be numerical

$StepNumber -> Works in conjunction with $CountSpeed to set how fast the window will fade and how smooth it fades; needs to be numerical (generally 1-10)

$CountSpeed -> Works in conjunction with $StepNumber to set how fast the window will fade and how smooth it fades; needs to be numerical (generally small and easily dividable by the $ToNumber; like 2, 10, 5)

$CountWindowTitle -> Title of the window to fade

The $ToNumber and $FromNumber can be swapped to fade in and out if that's your inclination.

;EXAMPLES -
; _WinSetTrans_Fade(100, 255, 5, 1, "MyWindow")
; _WinSetTrans_Fade(255, 50, 2, 10, "MyWindow")

FUNC _WinSetTrans_Fade($FromNumber, $ToNumber, $StepNumber, $CountSpeed, $CountWindowTitle)
    Local $V
            
        For $V = $FromNumber to $ToNumber Step $StepNumber
            Sleep($CountSpeed)
                Select
                    Case $FromNumber < $ToNumber
                        $V += 1
                                
                    Case $FromNumber > $ToNumber
                        $V -= 1
                                
                EndSelect
            WinSetTrans($CountWindowTitle, "", $v)
        Next
    
    WinSetTrans($CountWindowTitle, "", $ToNumber)
    
EndFunc

Share this post


Link to post
Share on other sites
erezlevi

I thought I'd share this little script I made. I don't know if something like this has already been made but I found it useful. Mods, please feel free to move/delete.

This UDF will fade transparency for a specified window.

$FromNumer -> A number that it should fade from; needs to be numerical

$ToNumber -> A numer that it should fade to; needs to be numerical

$StepNumber -> Works in conjunction with $CountSpeed to set how fast the window will fade and how smooth it fades; needs to be numerical (generally 1-10)

$CountSpeed -> Works in conjunction with $StepNumber to set how fast the window will fade and how smooth it fades; needs to be numerical (generally small and easily dividable by the $ToNumber; like 2, 10, 5)

$CountWindowTitle -> Title of the window to fade

The $ToNumber and $FromNumber can be swapped to fade in and out if that's your inclination.

;EXAMPLES -
; _WinSetTrans_Fade(100, 255, 5, 1, "MyWindow")
; _WinSetTrans_Fade(255, 50, 2, 10, "MyWindow")

FUNC _WinSetTrans_Fade($FromNumber, $ToNumber, $StepNumber, $CountSpeed, $CountWindowTitle)
    Local $V
            
        For $V = $FromNumber to $ToNumber Step $StepNumber
            Sleep($CountSpeed)
                Select
                    Case $FromNumber < $ToNumber
                        $V += 1
                                
                    Case $FromNumber > $ToNumber
                        $V -= 1
                                
                EndSelect
            WinSetTrans($CountWindowTitle, "", $v)
        Next
    
    WinSetTrans($CountWindowTitle, "", $ToNumber)
    
EndFunc
how do I start it?

Share this post


Link to post
Share on other sites
stamandster

Something like...

#include <GUIConstants.au3>

GUICreate("MyProgram", 200, 200)

GUICtrlCreateLabel("Fading window test", 10,10,200,35, $SS_LEFT)
GUICtrlSetFont(-1, 8, 400, 2)

$Button_2 = GUICtrlCreateButton("Fade In", 10, 60, 70, 20);Fade In
$Button_3 = GUICtrlCreateButton("Fade Out", 10,80, 70, 20);Fade Out

GUISetState()

While 1
    $msg = GUIGetMsg()

    Select

        Case $msg = $GUI_EVENT_CLOSE; -----> Close program via the X
            Exit
            
        Case $msg = $Button_2; -----> Fade In
            _WinSetTrans_Fade(100, 255, 5, 1, "MyProgram")

        Case $msg = $Button_3; -----> Fade Out
            _WinSetTrans_Fade(255, 100, 5, 1, "MyProgram")

    EndSelect

WEnd

;EXAMPLES -
; _WinSetTrans_Fade(100, 255, 5, 1, "MyWindow")
; _WinSetTrans_Fade(255, 50, 2, 10, "MyWindow")

FUNC _WinSetTrans_Fade($FromNumber, $ToNumber, $StepNumber, $CountSpeed, $CountWindowTitle)
    Local $V
            
        For $V = $FromNumber to $ToNumber Step $StepNumber
            Sleep($CountSpeed)
                Select
                    Case $FromNumber < $ToNumber
                        $V += 1
                                
                    Case $FromNumber > $ToNumber
                        $V -= 1
                                
                EndSelect
            WinSetTrans($CountWindowTitle, "", $v)
        Next
    
    WinSetTrans($CountWindowTitle, "", $ToNumber)
    
EndFunc
Edited by kickarse

Share this post


Link to post
Share on other sites
erezlevi

thanks, that is great!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×