[Résolu] Petit Problème ouverture 2ème fenêtre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Clad3815
Messages : 11
Inscription : dim. 25/janv./2009 11:20

[Résolu] Petit Problème ouverture 2ème fenêtre

Message par Clad3815 »

Bonjour a tous,

Voila déja plusieurs mois que je touche un peu le PureBasic (J'ai décider d'apprendre tout seul ^^)

Mais la j'ai un problème :x.

Je m'explique, j'ai ma fenêtre de base, jusqu'à la tout vas bien.
Mais je n'arrive pas a relié un bouton a l'ouverture de ma 2ème fenêtre.

Via le créateur, il me génère ce code :

Code : Tout sélectionner

Procedure Open_Window_1()
  If OpenWindow(#Window_1, 579, -7, 320, 571, "Activation du logiciel",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_1))
      WebGadget(#Web_3, 0, 0, 740, 680, "http://clad38500.free.fr/metin2.php")
Et je voudrai qu'il soit relié au bouton 1

Merci de vos réponse

Cordialement Clad3815
Dernière modification par Clad3815 le lun. 26/janv./2009 22:16, modifié 1 fois.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Comme ça

Par contre, c'est codé en dernière version de PB, CreateGadgetList( n'existe plus
Mets à jour ta version

Code : Tout sélectionner

Procedure Fenetre2()
  If OpenWindow(2, 0, 0, 300, 300, "Fenetre 2", #PB_Window_WindowCentered | #PB_Window_SystemMenu)
    
    Repeat
      Event = WaitWindowEvent()
      
      If EventWindow() = 2 ; On test que l'on travaille bien avec la fenêtre 2
        ; C'est important de filtrer, sinon, si tu clic sur la croix pour femer la fenêtre 1 par exemple, et bien on va fermer la fenêtre 2
         
        Select Event
          Case #PB_Event_CloseWindow
            Quitter = 1
        EndSelect
        
      EndIf
      
    Until Quitter
    
    CloseWindow(2)
    
  EndIf
EndProcedure

Procedure Fenetre1()
  If OpenWindow(1, 0, 0, 400, 400, "Fenetre 1", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
    
    ButtonGadget(1, 0, 0, 400, 25, "Ouvrir fenêtre 2")
    
    Repeat
      Event = WaitWindowEvent()
      
      Select Event
        Case #PB_Event_Gadget
          Select EventGadget()
            Case 1
              Fenetre2()
          EndSelect
      EndSelect
      
    Until Event = #PB_Event_CloseWindow
    
    CloseWindow(1)
    
  EndIf
EndProcedure

Fenetre1()
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Clad3815
Messages : 11
Inscription : dim. 25/janv./2009 11:20

Message par Clad3815 »

Merci, mais si je met a jour ma version sa va foiré tout mon programme non ?

Car il est très long :x
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

pas long et pas bien compliqué, il suffit de mettre en commentaire les lignes qui sont indiquées dans la fenêtre de warning lors de la compilation du programme...

pat
Clad3815
Messages : 11
Inscription : dim. 25/janv./2009 11:20

Message par Clad3815 »

Patrick tu pourai m'expliquer comment faire ?
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

tu as qu'elle version de PB la ?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Clad3815
Messages : 11
Inscription : dim. 25/janv./2009 11:20

Message par Clad3815 »

PureBasic 4.20 (Windows - x86)

Voila :P
guerrier001
Messages : 130
Inscription : dim. 11/janv./2009 15:04

Message par guerrier001 »

Lol va télécharger ou plutot acheter la derniere version qui est 4.30.
Le guerrier avance vers sa destiné!
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Quand tu compilera ton code avec la version 4.30 de pb, le compilateur t'indiquera des erreur comme le CreatGadgetList() qui n'existe plus (il indiquera que c obsolète) pour ça met un ";" avant chaque commande qui te bloque l'exécution. Le point virgule permet de mettre du code en commentaire.
Clad3815
Messages : 11
Inscription : dim. 25/janv./2009 11:20

Message par Clad3815 »

Voila j'ai compiler avec le 4.30

J'ai sa après mon code :

Code : Tout sélectionner

Procedure Open_Window_1()
  If OpenWindow(#Window_1, 300, 6, 310, 555, "Activation du logiciel",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    ;If CreateGadgetList(WindowID(#Window_1))
      WebGadget(#Web_4, 0, 0, 330, 570, "http://clad38500.free.fr/metin2.php")
      
    ;EndIf
  EndIf
EndProcedure

Open_Window_0()
Repeat

Event = WindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
MessageRequester("Blabla pour Bouton 0")
End
EndSelect
EndIf
Until event = #PB_Event_CloseWindow
Mais j'arrive toujours pas a ordonner d'ouvrir la 2ème fenêtre avec le bouton 1
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

regarde ce code , il ouvre plusieurs fenetres avec differents boutons

Code : Tout sélectionner

Enumeration
  #Main
  #Fenetre1
  #Fenetre2
  #Fenetre3
  #Fenetre4
  #Fenetre5
EndEnumeration

Enumeration
  #Bouton1
  #Bouton2
  #Bouton3
  #Bouton4
  #Bouton5
  #BoutonFenetre1
  #BoutonFenetre2
  #BoutonFenetre3
  #BoutonFenetre4
  #BoutonFenetre5
  #Text
EndEnumeration

Procedure OpenWin_Main()
  If OpenWindow(#Main, 0, 0, 220, 200, "Fenetres", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(0))
      ButtonGadget(#Bouton1, 10,  10, 200, 20, "Ouvrir fenêtre 1")
      ButtonGadget(#Bouton2, 10,  40, 200, 20, "Ouvrir fenêtre 2")
      ButtonGadget(#Bouton3, 10,  70, 200, 20, "Ouvrir fenêtre 3")
      ButtonGadget(#Bouton4, 10, 100, 200, 20, "Ouvrir fenêtre 4")
      ButtonGadget(#Bouton5, 10, 130, 200, 20, "Ouvrir fenêtre 5")
      TextGadget(#Text, 10, 180, 200, 20, "Pas de fenêtre ouverte", #PB_Text_Center)
    EndIf
  EndIf
EndProcedure

Procedure OpenWin_1()
  If OpenWindow(#Fenetre1, 0, 0, 220, 40, "Fenetre 1", #PB_Window_SystemMenu, WindowID(#Main))
    If CreateGadgetList(WindowID(#Fenetre1))
      ButtonGadget(#BoutonFenetre1, 10,  10, 200, 20, "Fermer fenêtre 1")
      
      ProcedureReturn #True
    EndIf
  EndIf
EndProcedure

Procedure OpenWin_2()
  If OpenWindow(#Fenetre2, 0, 70, 220, 40, "Fenetre 2", #PB_Window_SystemMenu, WindowID(#Main))
    If CreateGadgetList(WindowID(#Fenetre2))
      ButtonGadget(#BoutonFenetre2, 10,  10, 200, 20, "Fermer fenêtre 2")
      
      ProcedureReturn #True
    EndIf
  EndIf
EndProcedure

Procedure OpenWin_3()
  If OpenWindow(#Fenetre3, 0, 140, 220, 40, "Fenetre 3", #PB_Window_SystemMenu, WindowID(#Main))
    If CreateGadgetList(WindowID(#Fenetre3))
      ButtonGadget(#BoutonFenetre3, 10,  10, 200, 20, "Fermer fenêtre 3")
      
      ProcedureReturn #True
    EndIf
  EndIf
EndProcedure

Procedure OpenWin_4()
  If OpenWindow(#Fenetre4, 0, 210, 220, 40, "Fenetre 4", #PB_Window_SystemMenu, WindowID(#Main))
    If CreateGadgetList(WindowID(#Fenetre4))
      ButtonGadget(#BoutonFenetre4, 10,  10, 200, 20, "Fermer fenêtre 4")
      
      ProcedureReturn #True
    EndIf
  EndIf
EndProcedure

Procedure OpenWin_5()
  If OpenWindow(#Fenetre5, 0, 280, 220, 40, "Fenetre 5", #PB_Window_SystemMenu, WindowID(#Main))
    If CreateGadgetList(WindowID(#Fenetre5))
      ButtonGadget(#BoutonFenetre5, 10,  10, 200, 20, "Fermer fenêtre 5")
      
      ProcedureReturn #True
    EndIf
  EndIf
EndProcedure

OpenWin_Main()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        ;/ Ouverture des fenêtres "fille"
        Case #Bouton1
          If OpenWin_1()
            SetGadgetText(#Text, "Vous avez ouvert la fenêtre 1")
          EndIf
          
        Case #Bouton2
          If OpenWin_2()
            SetGadgetText(#Text, "Vous avez ouvert la fenêtre 2")
          EndIf
          
        Case #Bouton3
          If OpenWin_3()
            SetGadgetText(#Text, "Vous avez ouvert la fenêtre 3")
          EndIf
          
        Case #Bouton4
          If OpenWin_4()
            SetGadgetText(#Text, "Vous avez ouvert la fenêtre 4")
          EndIf
          
        Case #Bouton5
          If OpenWin_5()
            SetGadgetText(#Text, "Vous avez ouvert la fenêtre 5")
          EndIf
          
          ;/ Femeture des fenêtres "fille" par le bouton
        Case #BoutonFenetre1
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 1")
          CloseWindow(#Fenetre1)
          
        Case #BoutonFenetre2
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 2")
          CloseWindow(#Fenetre2)
          
        Case #BoutonFenetre3
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 3")
          CloseWindow(#Fenetre3)
          
        Case #BoutonFenetre4
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 4")
          CloseWindow(#Fenetre4)
          
        Case #BoutonFenetre5
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 5")
          CloseWindow(#Fenetre5)
          
          
      EndSelect
      
    Case #PB_Event_CloseWindow
      Select EventWindow()
        ;/ Fermeture des fenêtres "fille" par l'icône [X]
        Case #Fenetre1
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 1")
          CloseWindow(#Fenetre1)
          
        Case #Fenetre2
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 2")
          CloseWindow(#Fenetre2)
          
        Case #Fenetre3
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 3")
          CloseWindow(#Fenetre3)
          
        Case #Fenetre4
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 4")
          CloseWindow(#Fenetre4)
          
        Case #Fenetre5
          SetGadgetText(#Text, "Vous avez fermé la fenêtre 5")
          CloseWindow(#Fenetre5)
          
          ;/ Fermeture de la fenêtre principale (et fin du programme)
        Case #Main
          Quit = #True
          
      EndSelect
  EndSelect
Until Quit
End
Clad3815
Messages : 11
Inscription : dim. 25/janv./2009 11:20

Message par Clad3815 »

Merci,

Je l'ai essayer, j'ai compris le code sauf la partie pour ouvrir les fenêtres.

Je sais je suis un peu c** ^^ Mais je suis jamais arriver a comprendre ce code pour l'ouverture de fenêtres :x

PS : Je peut t'envoyer tout mon code en mp pour que tu regarde, car il est confidentiel je veut pas le mettre en publique

Cordialement Clad3815
guerrier001
Messages : 130
Inscription : dim. 11/janv./2009 15:04

Message par guerrier001 »

le code d'ouverture est vers la fin et de fermeture avec. Il sélectionne le bouton en sélectionnant le bouton il ouvre la fenêtre. exemple

Code : Tout sélectionner

Case #Bouton1
          If OpenWin_1()
            SetGadgetText(#Text, "Vous avez ouvert la fenêtre 1")
          EndIf 
on a sélectionner la case du bouton 1 en faisant ceci cela ouvre une fenêtre Window dont il est écrit "Vous avez ouvert la fenêtre 1"(après tous le code n'est rien que des phrases ou mots anglais)
Le guerrier avance vers sa destiné!
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

y'a quoi dans le "Open_Window_0()" ?

pat
guerrier001
Messages : 130
Inscription : dim. 11/janv./2009 15:04

Message par guerrier001 »

le texte et les boutons pour ouvrir les fenetres
Le guerrier avance vers sa destiné!
Répondre