[v4 beta 11] Comprtement des fenetres [J'insiste]

Archive.
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

[v4 beta 11] Comprtement des fenetres [J'insiste]

Message par olivier »

J'ai posté ce message dans débutant.... sans réponse.
Alors je le met ici car apparement c'est un bug.... qui serait bon de corriger... merci d'avance Fred


Voilà j'ai une fenetre, qui appel une autre fenetre, puis une autre.
Et j'aimerais que lorsque je reduis la troisième cela réduis aussi les 2 autres.
Et cela se passe bien, en mode débug, mais dés que je creé un executable, cela ne se comporte pas pareil !

Merci d'avance pour vos idées...

Code : Tout sélectionner

OpenWindow(0, 0, 0, 150, 150, "Test", #PB_Window_SystemMenu  | #PB_Window_MinimizeGadget)
CreateGadgetList(WindowID( 0))
ButtonGadget(1,10,10,100,20,"test")   

Repeat
   event = WaitWindowEvent()
   Select event
      Case #PB_Event_Gadget
         Select EventGadget()
            Case 1
               DisableWindow(0,1)
               OpenWindow(2, 210, 210, 150, 150, "Test2", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget,WindowID(0))
               CreateGadgetList(WindowID( 2))
               ButtonGadget(3,10,10,100,20,"test")  
               
            Case 3
               DisableWindow(2,1)
               OpenWindow(4, 410, 410, 200, 200, "Test2", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget,WindowID(2))
         EndSelect
         
         
      Case #WM_CLOSE 
         Select GetActiveWindow()
            Case 4
               CloseWindow(4)
               DisableWindow(2,0)
            Case 2
               CloseWindow(2)
               DisableWindow(0,0)
            Case 0
               quit=1
         EndSelect
         
      ; Case 161 ;detect evenement dans la barre system
         ; 
         ; If  EventwParam()=8;détect le minimize
            ; SetWindowState(0,#PB_Window_Minimize)
            ; DisableWindow(0,0)
         ; EndIf
         
   EndSelect
   
Until quit=1
End
Dernière modification par olivier le lun. 08/mai/2006 8:32, modifié 1 fois.
Vive le temps libre !
Gratteur
Messages : 147
Inscription : ven. 22/avr./2005 23:02

Message par Gratteur »

Ca marche très bien chez moi.
Dernière modification par Gratteur le lun. 08/mai/2006 10:59, modifié 1 fois.
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Message par LeCyb »

Il n'y a aucun bug dans le code, mais tu ne réduis nulle part les deux autres fenêtres !

Pour réduire les fenêtres tu dois utiliser SetWindowState().
Vive le thread-safe !
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Merci LeCyb, mais j'ai l'impression que tu va vite en besogne !

Mais bon je suis sur que tu va m'expliquer cela....

J'ai corrigé mon code, dans lequel j'avais oublié de mettre le id des fenetres parent.

Mais le problème est toujours le même. Et la question si tu concidere qu'il n'y a pas de bug est : Pourquoi le comportement est-il différent en mode debug et en lancant l'executable !
:mad:

Pour setwindowstate(), j'ai essayé de faire le même comportement que celui en mode debug mais sans succes, si tu pouvais m'aider un peu plus j'en serais tres heureux.

Merci d'avance

Code : Tout sélectionner

OpenWindow(0, 0, 0, 150, 150, "Test", #PB_Window_SystemMenu  | #PB_Window_MinimizeGadget)
CreateGadgetList(WindowID( 0))
ButtonGadget(1,10,10,100,20,"test")   

Repeat
   event = WaitWindowEvent()
   Select event
      Case #PB_Event_Gadget
         Select EventGadget()
            Case 1
               DisableWindow(0,1)
               OpenWindow(2, 210, 210, 150, 150, "Test2", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget,WindowID(0))
               CreateGadgetList(WindowID( 2))
               ButtonGadget(3,10,10,100,20,"test")
               
            Case 3
               DisableWindow(2,1)
               OpenWindow(4, 410, 410, 200, 200, "Test2", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget,WindowID(2))
         EndSelect
         
         
      Case #WM_CLOSE
         Select GetActiveWindow()
            Case 4
               CloseWindow(4)
               DisableWindow(2,0)
            Case 2
               CloseWindow(2)
               DisableWindow(0,0)
            Case 0
               quit=1
         EndSelect
         
         ; Case 161 ;detect evenement dans la barre system
         ; ;
         ; If  EventwParam()=8;détect le minimize
         ; SetWindowState(0,#PB_Window_Minimize)
         ; DisableWindow(0,0)
      ; EndIf
         
   EndSelect
   
Until quit=1
End
Vive le temps libre !
Gratteur
Messages : 147
Inscription : ven. 22/avr./2005 23:02

Message par Gratteur »

Je n'arrive pas à reproduire ton bug, que ce soit avec ou sans le débuger, dans un exécutable, avec le support des skins, etc... dans tous les cas minimize la troisième fenetre, les deux autres sont elles-aussi minimisées (ce qui est normal aveec le jeu des fenetre mères).
Je tourne sous XP sp2, directx 9.
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Je tourne avec Win 2000 , DirectX 9.0c...
Vive le temps libre !
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Avec mon windows 98:
Aucune fenêtre ne se réduit dans la barre des tâches. La fenêtre que je réduis manuellement se réduit en bas à gauche du bureau, les deux autres ne bougent pas et sont "bloquées" comme si on avait lancé un requester...

Dri
Répondre