Comment on fait pour kune fenetre s'eteint jamais

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Comment on fait pour kune fenetre s'eteint jamais

Message par garzul »

Bonjour
Voila j'ai un probleme c'est que j'ai cre une fenetre avec des sous menus et des bouton mais le seul probleme c quand je veux compiler/executer sa m'affiche vite le debuggeur et c'et tout sa va trop vite et sa finie des que je lance le prog moi je voudrais faire pour que la fenetre reste toujour et pour quitter il faudrais cliquer sur la croix voila pouvez vous m'aidex please voici mon code.

Code : Tout sélectionner

; PureBasic Visual Designer v3.80 build 1249


;- Window Constants
;
Enumeration
  #Window_1
EndEnumeration
;- MenuBar Constants
;
Enumeration
  #MenuBar_4
EndEnumeration

Enumeration
  #MENU_27
  #MENU_26
  #MENU_29
  #MENU_25
  #MENU_35
  #MENU_41
  #MENU_44
  #MENU_45
  #MENU_46
  #MENU_49
  #MENU_50
  #MENU_53
  #MENU_58
  #MENU_55
  #MENU_56
  #MENU_59
  #MENU_64
  #MENU_75
EndEnumeration

;- StatusBar Constants
;
Enumeration
  #StatusBar_0
EndEnumeration



Procedure Open_Window_1()
  If OpenWindow(#Window_1, 183, 0, 413, 406,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered , "Garzul note pad")
    If CreateMenu(#MenuBar_4, WindowID())
      MenuTitle("Fichier")
      MenuItem(#MENU_27, "Nouveau")
      MenuItem(#MENU_26, "Ouvrir")
      MenuItem(#MENU_29, "Enregistrer")
      MenuItem(#MENU_25, "Enregistrer sous ...")
      MenuBar()
      MenuItem(#MENU_35, "Imprimer")
      MenuBar()
      MenuItem(#MENU_41, "Quitter")
      MenuTitle("Edition")
      MenuItem(#MENU_44, "Couper")
      MenuItem(#MENU_45, "Copier")
      MenuItem(#MENU_46, "Coller")
      MenuItem(#MENU_49, "Supprimer")
      MenuBar()
      MenuItem(#MENU_50, "Selectioner tout")
      MenuItem(#MENU_53, "Heure/Dates")
      MenuItem(#MENU_58, "Couleur du texte")
      MenuTitle("Format")
      MenuItem(#MENU_55, "Polices")
      MenuItem(#MENU_56, "Retour auto a la ligne")
      MenuTitle("Affichage")
      MenuItem(#MENU_59, "Barre d'etat")
      MenuTitle("?")
      MenuItem(#MENU_64, "Aide")
      MenuBar()
      MenuItem(#MENU_75, "A propo du garzul note pad")
    EndIf
    
    If CreateStatusBar(#StatusBar_0, WindowID())
      AddStatusBarField(550)
      StatusBarText(#StatusBar_0, 0, "field")
    EndIf
    
    If CreateGadgetList(WindowID())
      
    EndIf
  EndIf
EndProcedure
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Normal, tu n'as pas de boucle de gestion des evenements.

Va voir au dessus de ton post, dans les tutos que le soldat a posté. Tout est expliqué, et ça évite de redire 50 fois la même chose

Chris :)
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message par fweil »

Après tes procédures il faut au moins ajouter qq chose comme ça ... en programme principal minimum :


Open_Window_1()
Repeat

Until WaitWindowEvent() = #PB_Event_CloseWindow
End
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Merci beaucoup

Message par garzul »

:) Je suis debutant en prog donc c'est pour sa et merci encore ce forum et super je suis conecte toujour a ce forum car on recoit une reponse presque immediatement et tout le monde et cool je pense que si j'ai un probleme je peux vous le demandez ce soir car ce soir chez moi c soirre prog lol :D et merci encore 8)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

prob

Message par garzul »

Heu excusez moi j'ai encore un prob jai fait ce que vous avez dit mais je la met ou la boucle. jai fait sa comme boucle.

Code : Tout sélectionner

Repeat 

Repeat 

  Event = WaitWindowEvent() 

Until Event = #PB_EventCloseWindow

End
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tiens ton sources arrangé

Code : Tout sélectionner

; PureBasic Visual Designer v3.80 build 1249


;- Window Constants
;
Enumeration
    #Window_1
EndEnumeration
;- MenuBar Constants
;
Enumeration
    #MenuBar_4
EndEnumeration

Enumeration
    #MENU_27
    #MENU_26
    #MENU_29
    #MENU_25
    #MENU_35
    #MENU_41
    #MENU_44
    #MENU_45
    #MENU_46
    #MENU_49
    #MENU_50
    #MENU_53
    #MENU_58
    #MENU_55
    #MENU_56
    #MENU_59
    #MENU_64
    #MENU_75
EndEnumeration

;- StatusBar Constants
;
Enumeration
    #StatusBar_0
EndEnumeration



Procedure Open_Window_1()
    If OpenWindow(#Window_1, 183, 0, 413, 406,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered , "Garzul note pad")
        If CreateMenu(#MenuBar_4, WindowID())
            MenuTitle("Fichier")
            MenuItem(#MENU_27, "Nouveau")
            MenuItem(#MENU_26, "Ouvrir")
            MenuItem(#MENU_29, "Enregistrer")
            MenuItem(#MENU_25, "Enregistrer sous ...")
            MenuBar()
            MenuItem(#MENU_35, "Imprimer")
            MenuBar()
            MenuItem(#MENU_41, "Quitter")
            MenuTitle("Edition")
            MenuItem(#MENU_44, "Couper")
            MenuItem(#MENU_45, "Copier")
            MenuItem(#MENU_46, "Coller")
            MenuItem(#MENU_49, "Supprimer")
            MenuBar()
            MenuItem(#MENU_50, "Selectioner tout")
            MenuItem(#MENU_53, "Heure/Dates")
            MenuItem(#MENU_58, "Couleur du texte")
            MenuTitle("Format")
            MenuItem(#MENU_55, "Polices")
            MenuItem(#MENU_56, "Retour auto a la ligne")
            MenuTitle("Affichage")
            MenuItem(#MENU_59, "Barre d'etat")
            MenuTitle("?")
            MenuItem(#MENU_64, "Aide")
            MenuBar()
            MenuItem(#MENU_75, "A propo du garzul note pad")
        EndIf
        
        If CreateStatusBar(#StatusBar_0, WindowID())
            AddStatusBarField(550)
            StatusBarText(#StatusBar_0, 0, "field")
        EndIf
        
        If CreateGadgetList(WindowID())
        EndIf
    EndIf
EndProcedure





Open_Window_1()
Repeat
    
    event=WaitWindowEvent()
     menu=EventMenuID() 
    ;gestion des gadgets (boutons ect..)
    If event = #PB_EventGadget : ; on a clique sur un gadget
        GadgetID = EventGadgetID(): ; lequel ??
    
    Debug  GadgetID
    
EndIf
    ;gestion du menu
    If event = #PB_Event_Menu   : ; on a clique sur un menu
        menuID = EventGadgetID(): ; lequel ??
        
        Debug  "menu numero "+menuID:; cette ligne va afficher le numero du menu choisi !!
        ; a  toi dans faire ce que tu veux !!
    EndIf
    
    
    
    
   
Until event=#PB_Event_CloseWindow 

Dernière modification par Backup le lun. 31/mai/2004 22:28, modifié 1 fois.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

ok

Message par garzul »

ok je vais essayer merci :)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

prob

Message par garzul »

:D Je suis content la fenetre s'ouvre mais maintenant j'ai un new prob c que pour mettre la barre field en bas de mon prog

Code : Tout sélectionner

If CreateStatusBar(#StatusBar_0, WindowID()) 
            AddStatusBarField(550) 
            StatusBarText(#StatusBar_0, 0, "field") 
        EndIf 
sa et bas quand j'agrandis le field reste comme si c'etait une petite fenetre. :?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tiens regarde !

Code : Tout sélectionner

; PureBasic Visual Designer v3.80 build 1249


;- Window Constants
;
Enumeration
    #Window_1
EndEnumeration
;- MenuBar Constants
;
Enumeration
    #MenuBar_4
EndEnumeration

Enumeration
    #MENU_27
    #MENU_26
    #MENU_29
    #MENU_25
    #MENU_35
    #MENU_41
    #MENU_44
    #MENU_45
    #MENU_46
    #MENU_49
    #MENU_50
    #MENU_53
    #MENU_58
    #MENU_55
    #MENU_56
    #MENU_59
    #MENU_64
    #MENU_75
EndEnumeration

;- StatusBar Constants
;
Enumeration
    #StatusBar_0
EndEnumeration



Procedure Open_Window_1()
    If OpenWindow(#Window_1, 183, 0, 413, 406,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered , "Garzul note pad")
        If CreateMenu(#MenuBar_4, WindowID())
            MenuTitle("Fichier")
            MenuItem(#MENU_27, "Nouveau")
            MenuItem(#MENU_26, "Ouvrir")
            MenuItem(#MENU_29, "Enregistrer")
            MenuItem(#MENU_25, "Enregistrer sous ...")
            MenuBar()
            MenuItem(#MENU_35, "Imprimer")
            MenuBar()
            MenuItem(#MENU_41, "Quitter")
            MenuTitle("Edition")
            MenuItem(#MENU_44, "Couper")
            MenuItem(#MENU_45, "Copier")
            MenuItem(#MENU_46, "Coller")
            MenuItem(#MENU_49, "Supprimer")
            MenuBar()
            MenuItem(#MENU_50, "Selectioner tout")
            MenuItem(#MENU_53, "Heure/Dates")
            MenuItem(#MENU_58, "Couleur du texte")
            MenuTitle("Format")
            MenuItem(#MENU_55, "Polices")
            MenuItem(#MENU_56, "Retour auto a la ligne")
            MenuTitle("Affichage")
            MenuItem(#MENU_59, "Barre d'etat")
            MenuTitle("?")
            MenuItem(#MENU_64, "Aide")
            MenuBar()
            MenuItem(#MENU_75, "A propo du garzul note pad")
        EndIf
        
        If CreateStatusBar(#StatusBar_0, WindowID())
            AddStatusBarField(550)
            StatusBarText(#StatusBar_0, 0, "field")
        EndIf
        
        If CreateGadgetList(WindowID())
        EndIf
    EndIf
EndProcedure




;******************* faut le mettre avant la boucle !!! 
Open_Window_1()
If CreateStatusBar(#StatusBar_0, WindowID())
    AddStatusBarField(550)
    StatusBarText(#StatusBar_0, 0, "field")
EndIf 
; *****************************************

Repeat
    
    event=WaitWindowEvent()
     menu=EventMenuID() 
    ;gestion des gadgets (boutons ect..)
    If event = #PB_EventGadget : ; on a clique sur un gadget
        GadgetID = EventGadgetID(): ; lequel ??
    
    Debug  GadgetID
    
EndIf
    ;gestion du menu
    If event = #PB_Event_Menu   : ; on a clique sur un menu
        menuID = EventGadgetID(): ; lequel ??
        
        Debug  "menu numero "+Str(menuID):; cette ligne va afficher le numero du menu choisi !!
        ; a  toi dans faire ce que tu veux !!
    EndIf
    
    
    
     UpdateStatusBar(#StatusBar_0)
   
Until event=#PB_Event_CloseWindow 
Dernière modification par Backup le lun. 31/mai/2004 22:57, modifié 1 fois.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

merci

Message par garzul »

Merci je vais essayer et en meme temps j'aprend et tu sais si c bien l'editeur visuel moi je le trouve pas tres bien. :DHeu j'ai modifie ce message car j'ai un autrze prob (je suis peut etree chiant) sa marche pas ton code car quand j'agrandi ma fenetre la barre field suis toujour pas l'agrandissement. :(
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

si! si! moi il me va bien

par contre faut pas oublier des choses une fois que t'a fait l'interface
parcq'apres c'est galere pour modifier !!

il faut utiliser "generer le code" et ne pas tenir compte du premier fichier cree
moi j'utilise que le 2em fichier le "common" que je renome au nom du prg que je veux faire car le premier fichier generé n'est qu'un "include"
pas interressant , je trouve, mais peut etre ai-je pas compris son utilisation ! ? :)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

faut rajouter

Code : Tout sélectionner

 UpdateStatusBar(#StatusBar_0) 
juste avant

Code : Tout sélectionner

Until event=#PB_Event_CloseWindow 
regarde le dernier listing poste je l'ai remodifie !! :)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Dobro a écrit :si! si! moi il me va bien

par contre faut pas oublier des choses une fois que t'a fait l'interface
parcq'apres c'est galere pour modifier !!

il faut utiliser "generer le code" et ne pas tenir compte du premier fichier cree
moi j'utilise que le 2em fichier le "common" que je renome au nom du prg que je veux faire car le premier fichier generé n'est qu'un "include"
pas interressant , je trouve, mais peut etre ai-je pas compris son utilisation ! ? :)
Ca doit être ça :lol:

Le premier contient la boucle des évenements, si tu as coché la case dans les options. C'est lui, le fichier principal, et l'include, he ben c'est l'autre (le "Common"). :lol:

Chris :)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

merci

Message par garzul »

ok merci mais je suis un debutant comment aprendre ouinnnnnnnnnnnnn
Répondre