Page 1 sur 1

hide window [résolu]

Publié : sam. 16/juin/2007 0:01
par fd
Re-bonjour,

Si je cache une fenêtre A - HideWindow(A) - et que j'utilise un gadget de la fenêtre B, ma fenêtre A réapparait !!! C'est étrange, non ?

Publié : sam. 16/juin/2007 0:05
par minirop
n'importe quel événement ou seulement un que tu gères ?

Publié : sam. 16/juin/2007 7:47
par Backup
d'un autre coté, sans exemple, on peut rien faire ou voir ... :)

Publié : sam. 16/juin/2007 8:53
par venom
d'un autre coté, sans exemple, on peut rien faire ou voir ... Smile
de toute façon la fenetre est invisible alors ... :D

ok je sort :oops: :D


@++

Publié : sam. 16/juin/2007 9:56
par fd
Justement non, elle devrait être invisible et elle devient visible lorsque l'on clique sur les boutons de l'autre fenêtre pour laquelle j'ai l'option premier plan ...

Publié : sam. 16/juin/2007 10:41
par Backup
fd a écrit :Justement non, elle devrait être invisible et elle devient visible lorsque l'on clique sur les boutons de l'autre fenêtre pour laquelle j'ai l'option premier plan ...
un code svp ...


comme ça on peut rien te dire

m'est avis que tu t'es planté dans ta gestion des evenements .. :)

Publié : sam. 16/juin/2007 11:27
par Ar-S
En reprenant Gainsbarre


Si tu montres pas le code des explications t'auras pas .. (choeurs : No comments)
Si tu montres le code des explications tu auras.. (choeurs : Hou hou houuu)


Image c'est nul....

Ok je sorts

Publié : sam. 16/juin/2007 12:15
par venom
bon j'ai pas très bien compris moi non pu mais a mon avis ceux sont les gadgets de ta fenetre b qui ne savent pas sur quelle fenetre demarrer donc sa ouvre les deux ou un truck du genre.

j'ai fait un petit code simple je ne sais pas si sa peut t'aider fin bref. :wink:

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
  #Window_1
EndEnumeration

;- Gadget Constants
Enumeration
  #Button_0
  #Button_1
  #Button_2
EndEnumeration

;fenetre 0 -------------------------------------------------------------------------

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 0, 0, 300, 100, "fenetre 1",  #PB_Window_SystemMenu | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_0))
      
    EndIf
  EndIf
  
Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        
        Case #Button_0
         CloseWindow(#Window_0)
        
        Case #Button_1
         Open_Window_0()
        
        Case #Button_2
        MessageRequester("info","voila je me sert du boutton sans pour autant ouvrir l'autre fenetre", 0)

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
  End 
EndProcedure 

;fenetre 1 -------------------------------------------------------------------------

  If OpenWindow(#Window_1, 320, 0, 300, 100, "fenetre 2",  #PB_Window_SystemMenu |  #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_1))
      ButtonGadget(#Button_0, 10, 10, 100, 25, "cacher la fenetre 1")
      ButtonGadget(#Button_1, 120, 10, 100, 25, "afficher la fenetre 1")
      ButtonGadget(#Button_2, 10, 40, 100, 25, "test")
      
    EndIf
  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
       
       Case #Button_1
        Open_Window_0()
       
       Case #Button_2
        MessageRequester("info","voila je me sert du boutton sans pour autant ouvrir l'autre fenetre", 0)
        
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
 End

@++

Publié : sam. 16/juin/2007 14:25
par fd
Dobro a gagné !

J'ai réécrit ma boucle d'interprétation des gadget en commençant par séparer les différentes fenêtres (EventWindow) et cela fonctionne. Auparavant je traitais tous les gadgets au même niveau (puisqu'ils ont des noms différents), mais cette boucle réaffichait les fenêtres cachées.

Merci.