Page 1 sur 2

Souci avec animation d'ouverture fenêtre

Publié : dim. 14/sept./2008 21:21
par Le Soldat Inconnu
Bon, j'ai un souci ... pourquoi moi, ouin :p

Bon voila le code :

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 4
;
; Explication du programme :
; Animation d'ouverture et de fermeture


#AW_HOR_POSITIVE = $1 ; Animates the window from left to right. This flag can be used with roll or slide animation.
#AW_HOR_NEGATIVE = $2 ; Animates the window from right to left. This flag can be used with roll or slide animation.
#AW_VER_POSITIVE = $4 ; Animates the window from top to bottom. This flag can be used with roll or slide animation.
#AW_VER_NEGATIVE = $8 ; Animates the window from bottom to top. This flag can be used with roll or slide animation.
#AW_CENTER = $10 ; Makes the window appear to collapse inward if AW_HIDE is used or expand outward if the AW_HIDE is not used.
#AW_HIDE = $10000 ; Hides the window. By default, the window is shown.
#AW_ACTIVATE = $20000 ; Activates the window.
#AW_SLIDE = $40000 ; Uses slide animation. By default, roll animation is used.
#AW_BLEND = $80000 ; Uses a fade effect. This flag can be used only if hwnd is a top-level window.

Procedure.l Valeur_Duree()
  ProcedureReturn Val(GetGadgetText(1))
EndProcedure

Procedure Animation(Fenetre, Effet, Duree)
  ; On cache la fenêtre
  AnimateWindow_(WindowID(Fenetre), Duree, Effet | #AW_HIDE)
  
  Delay(1000)
  
  ; On affiche la fenêtre
  AnimateWindow_(WindowID(Fenetre), Duree, Effet)
  
  ; On redessine la fenêtre, certain gadget ne se réaffiche pas correctement
  RedrawWindow_(WindowID(Fenetre), 0, 0, 1)
EndProcedure



; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0 Or CreateGadgetList(WindowID(0)) = 0
  End
EndIf

TextGadget(#PB_Any, 0, 0, 300, 15, "Durée de l'animation en ms :")
StringGadget(1, 0, 15, 100, 20, "500", #PB_String_Numeric)

ButtonGadget(2, 0, 50, 150, 25, "Effet de transparence") : ButtonGadget(3, 150, 50, 150, 25, "Du centre")
ButtonGadget(4, 0, 75, 150, 25, "De la gauche vers la droite") : ButtonGadget(5, 150, 75, 150, 25, "De la droite vers la gauche")
ButtonGadget(6, 0, 100, 150, 25, "Du haut vers le bas") : ButtonGadget(7, 150, 100, 150, 25, "Du bas vers le haut")
ButtonGadget(8, 0, 125, 150, 25, "Diagonale HG vers BD") : ButtonGadget(9, 150, 125, 150, 25, "Diagonale BG vers HD")
ButtonGadget(10, 0, 150, 150, 25, "Diagonale HD vers BG") : ButtonGadget(11, 150, 150, 150, 25, "Diagonale BD vers HG")
Repeat
  Event = WaitWindowEvent()
  
  Select Event
    Case #PB_Event_Gadget
      Select EventGadget() ; Gadgets
        Case 2
          Animation(0, #AW_BLEND, Valeur_Duree())
        Case 3
          Animation(0, #AW_CENTER, Valeur_Duree())
        Case 4
          Animation(0, #AW_HOR_POSITIVE, Valeur_Duree())
        Case 5
          Animation(0, #AW_HOR_NEGATIVE, Valeur_Duree())
        Case 6
          Animation(0, #AW_VER_POSITIVE, Valeur_Duree())
        Case 7
          Animation(0, #AW_VER_NEGATIVE, Valeur_Duree())
        Case 8
          Animation(0, #AW_HOR_POSITIVE | #AW_VER_POSITIVE, Valeur_Duree())
        Case 9
          Animation(0, #AW_HOR_POSITIVE | #AW_VER_NEGATIVE, Valeur_Duree())
        Case 10
          Animation(0, #AW_HOR_NEGATIVE | #AW_VER_POSITIVE, Valeur_Duree())
        Case 11
          Animation(0, #AW_HOR_NEGATIVE | #AW_VER_NEGATIVE, Valeur_Duree())
      EndSelect
  EndSelect
  
Until Event = #PB_Event_CloseWindow

End
Ca permet de tester des animations de Window pour l'ouverture et la fermeture de fenêtre.

Mon problème c'est que depuis PB4.20, l'animation avec effet de transparence ne marche plus, et je pige pas pourquoi. (ca marche avec PB4.00, c'est certain)
En plus de ne pas marcher, ca plante le rafraichissement de la fenêtre en plus.

Une idée ?
Je vous pose la question avant d'envoyer le bug à Fred sur le forum des Grosses Bêtes (GB, des anglais quoi)

Publié : dim. 14/sept./2008 22:06
par venom
salut Soldat Inconnu,

et bien je viens de tester chez moi purebasic 4.20 et bien l'effet transparent fonctionne parfaitement 8O quand je clic dessus sa me fait un fondu vers le transparent et juste après l'inverse.




@++

Publié : lun. 15/sept./2008 10:15
par Oliv
Chez moi ça ne fonctionne pas, est-ce que se serrait dépendant de la carte graphique ?

Publié : lun. 15/sept./2008 12:58
par Ar-S
chez moi ça marche pas non plus, mais ça viendrai pas plutôt du choix des parametres d'affichages windows. (touche Windows+Pause / Onglet 'avancé' / Dans performances 'Paramètres' => "animer les fenêtre lors de la reduction etc...")

Je me dis que c'est peut-être lié.

Publié : lun. 15/sept./2008 17:37
par nico
Cela ne fonctionne pas non plus chez moi!

Publié : lun. 15/sept./2008 18:46
par Anonyme
ca marche ici avec la 4.2 , ca exclu donc un bug de la 4.2

Publié : lun. 15/sept./2008 22:12
par Le Soldat Inconnu
Hum, par forcément, en tout cas, chez moi, ca ne marche pas sur 2 PC différent.
Mais tous sur XP pro SP2, carte graphique nvidia ou intel (pc portable)
Ceux chez qui ca marche ou ca marche pas , vous avez quoi comme OS ?

Publié : mar. 16/sept./2008 0:17
par Ar-S
Le Soldat Inconnu a écrit :Hum, par forcément, en tout cas, chez moi, ca ne marche pas sur 2 PC différent.
Mais tous sur XP pro SP2, carte graphique nvidia ou intel (pc portable)
Ceux chez qui ca marche ou ca marche pas , vous avez quoi comme OS ?
Xp pro SP3 avec carte ATI hd4850

Publié : mar. 16/sept./2008 5:33
par venom
moi j'ai xp pro sp3
carte graphique radeon x600 (256Mo)

et ce n'est pas du au sp3 car j'ai essayer sur mon autre ordinateur :
xp pro sp2
carte graphique geforce 8800 gt
et sa fonctionne aussi




@++

Publié : mar. 16/sept./2008 9:07
par Anonyme
Xp Home edition sp2 , Nvidia 8800gt.

Publié : mar. 16/sept./2008 9:14
par Kwai chang caine
Marche nickel 8)

Windows 2000 SP4

Publié : mar. 16/sept./2008 21:53
par Droopy
Marche pas (Vista / Radeon 4870)

Publié : mar. 16/sept./2008 22:05
par Backup
marche pas SP3 XP/nvidia7600gt

Publié : mar. 16/sept./2008 22:56
par Le Soldat Inconnu
Bon ben moi, je viens de réessayer avec PB 3.94 et ca marche nickel !

Donc le problème viens de PB, il y a truc nouveau que certaine configuration n'aime pas

Publié : mer. 17/sept./2008 21:13
par Droopy
Effectivement, le code fonctionne chez moi avec la 3.94 alors qu'il buggait avec la 4.20