[Ex] Transition entre 2 fenêtres (Aéro)

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

[Ex] Transition entre 2 fenêtres (Aéro)

#1

Message par matwachich »

J'ai fait ce petit script pour un ami du forum qui l'a demandé (je met un lien vers ce post dans le sujet de sa demande!)
Il permet de faire une petite transition sympatoch entre deux fenêtres.
EDIT: j'ai ajouté un petit effet de fade-in/out sur les fenêtres!

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.6.1
 Author:         Matwachich

 Script Function:
    Exemple de transition entre deux fenêtre à la aero!

#ce ----------------------------------------------------------------------------

#include <GUIConstants.au3>
#Include <Math.au3>

#region - GUI Create
$gui1 = GUICreate('Gui 1', 300, 100)
$b1 = GUICtrlCreateButton("Change", 20, 20, 260, 60)
GUISetState()
#endregion

#region - GUI Create
$gui2 = GUICreate('Gui 2', 300, 100)
$b2 = GUICtrlCreateButton("Change", 20, 20, 260, 60)
;~ GUISetState()
#endregion

#region - GUI SelectLoop
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit
        Case $msg = $b1
            _WinAnime_AeroTransition($gui1, $gui2)
        Case $msg = $b2
            _WinAnime_AeroTransition($gui2, $gui1)
    EndSelect
WEnd
#endregion


Func _WinAnime_AeroTransition($gui1, $gui2)     ; $gui1 doit être visible, et $gui2 invisible mais elle peuvent être visibles toutes les deux
                                            ; ça ne pose pas de problème (essayez!)
    Local $visiblePos = WinGetPos($gui1)                ; On ramen la fenetre à faire apparaitre ($gui2)
    WinMove($gui2, "", $visiblePos[0], $visiblePos[1])  ; à la position de la fenêtre visible

    GUISetState(@SW_SHOW, $gui1)    ; On rend visible et transparente
    GUISetState(@SW_SHOW, $gui2)    ; les deux fenêtres
    WinSetTrans($gui1, "", 255)     ;
    WinSetTrans($gui2, "", 0)       ;

    Local $sin, $amplitudeX = 10, $amplitudeY = 10  ; Modifiez les amplitudes pour tester!
    Local $angl2trans = 360/255

    For $i = 0 To 360 Step 10
        $sin = Sin(_Radian($i))     ; La clef! un fonction sinusoïdale

        WinMove($gui1, "", $visiblePos[0] + ($sin * $amplitudeX), $visiblePos[1] + ($sin * $amplitudeY)) ; J'ai la flème
        WinMove($gui2, "", $visiblePos[0] - ($sin * $amplitudeX), $visiblePos[1] - ($sin * $amplitudeY)) ; d'expliquer!

        WinSetTrans($gui1, "", 255 - ($i / $angl2trans))    ; Un petit jeu de transparence!
        WinSetTrans($gui2, "", $i / $angl2trans)            ; fade-in et fade-out

        Sleep(1)
    Next

    GUISetState(@SW_HIDE, $gui1)    ; On cache la fenêtre initiallement visible ($gui1)
    WinSetTrans($gui1, "", 255)     ; Et on enlève la transparence
    WinSetTrans($gui2, "", 255)     ;
EndFunc
 
PS: premier script 2011!!!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
BlueCore
Niveau 4
Niveau 4
Messages : 73
Enregistré le : sam. 04 sept. 2010 09:55
Status : Hors ligne

Re: [Ex] Transition entre 2 fenêtres (Aéro)

#2

Message par BlueCore »

yah ça le fait sur XP. mais.. Aero ? franchement c'est pas ça du tout.
Avatar du membre
cramaboule
Niveau 2
Niveau 2
Messages : 25
Enregistré le : dim. 19 août 2007 15:54
Status : Hors ligne

Re: [Ex] Transition entre 2 fenêtres (Aéro)

#3

Message par cramaboule »

matwachich a écrit :J'ai fait ce petit script pour un ami du forum qui l'a demandé (je met un lien vers ce post dans le sujet de sa demande!)
Il permet de faire une petite transition sympatoch entre deux fenêtres.
EDIT: j'ai ajouté un petit effet de fade-in/out sur les fenêtres!


PS: premier script 2011!!!
du forum anglais... un script d'effet de fondu entre 2 slides.

http://www.autoitscript.com/forum/topic ... on-effect/
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Ex] Transition entre 2 fenêtres (Aéro)

#4

Message par matwachich »

@BlueCore: Bah au fait, si j'ai dit aéro c'est juste par rapport au sujet qui m'a donné l'idée de faire ce script! Sinon, mon laptop est en sous Vista Familial basic, donc j'ai pas aéro!

@cramaboule: J'ai tester ton script et je l'adore! je voulais faire un truc du genre pour un écran de veille, et la, tu me facilite la tache :wink:
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
cramaboule
Niveau 2
Niveau 2
Messages : 25
Enregistré le : dim. 19 août 2007 15:54
Status : Hors ligne

Re: [Ex] Transition entre 2 fenêtres (Aéro)

#5

Message par cramaboule »

@matwachich: No problem !!! Je l'aime aussi :P :lol: :lol: :lol:
Répondre