Comment faire ouvrir des menu comme imprimer et scrolbar

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 faire ouvrir des menu comme imprimer et scrolbar

Message par garzul »

:D Bonjour vous pourrez enlever ce topic apres paske kil et inutile je voudrais savoir comment faire ouvrir des menu pour kil fasse une fonction comme imprimer et ken on clike sur le bouton sa imprime le texte et aussi pour mettre une scrollbar comme sur le bloc note et comment dans

Code : Tout sélectionner

    StringGadget(#Gadget_2,0, 0, 1024, 1024,"Normal StringGadget...")
permetre a l'utilisteur qui va taper du texte dedans de faire sauter des ligne et recommencer a la ligne ken il et a la fin de la fenetre merci (je sais que je suis pas clair mais bon) :D 8O
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ben dis donc, si un jour tu revends ton clavier, on est au moins sûr que la touche des virgules sera tout neuve! Y en a pas une dans tout ton texte :lol:

Tu ne respires donc pas, quand tu parles ???

Bon! Pour ton StringGadget, tu peux déjà faire ça:

Code : Tout sélectionner

StringGadget(0,10,10,200,100,t$,#PB_String_MultiLine|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
Pour les menus, tout est dans l'aide, et c'est bien expliqué.

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

Message par garzul »

:lol: ,ok,merci,je,vais,essayer,lol,tu,vois,jutilise,la,touche,virgule

!!!!!!!!!!!!!!!!!!!!!!!!!lol!!!!!!!!!!!!!!!!!!!!
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

merci mais je voudrais savoir comment dimensioner mon saisie de texte a la taille de la fenetre. 8)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

je voudrais savoir comment dimensioner mon saisie de texte a la taille de la fenetre.
Voila et regarde ya un gros probleme dans mon aplication quand tu laisse appuyer sur entrer essaye??

Code : Tout sélectionner

; PureBasic Visual Designer v3.80 build 1249 


;- Window Constants 
; 
Enumeration ;Les enumeration des menus pour les reprendre apres.
    #Window_1 
EndEnumeration 
;- MenuBar Constants 
; 
Enumeration 
    #MenuBar_4 
EndEnumeration 
;- Saisi du texte (gadget)
Enumeration
    #Gadget_2
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, 1024, 0, 1024, 665,  #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 CreateGadgetList(WindowID(0)) ;je cree le gadget saisie de texte dans windows
StringGadget(0,10,10,1024,1024,t$,#PB_String_MultiLine|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT) ;Je cree la scrolbar ainsi que le retour a la ligne
    ;terminer pour le saisie de texte

        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 
    EndIf
EndProcedure 




;******************* faut le mettre avant la boucle !!! 
Open_Window_1() 
If CreateStatusBar(#StatusBar_0, WindowID()) 
    AddStatusBarField(1024) 
    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 
    
    
    
      
    
Until event=#PB_Event_CloseWindow 
Dis moi ce qui vas pas stp
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

En utilisant #PB_Event_SizeWindow:

Code : Tout sélectionner

;/Constantes Window
Enumeration
  #Window_0
EndEnumeration

;/Constantes Gadget
Enumeration
  #String
  #Btn_Quit
EndEnumeration


If OpenWindow(#Window_0, 300, 300, 300, 200, #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget, "Fenêtre 1",0)
  If CreateGadgetList(WindowID(#Window_0))
    StringGadget(#String,0,10,300,100,"",#PB_String_MultiLine|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT)
    ButtonGadget(#Btn_Quit, 100, 170, 100, 25, "Quitter")
  EndIf
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_SizeWindow
        ResizeGadget(#String,-1,-1,WindowWidth(),-1)
      Case #PB_EventGadget
        Select EventGadgetID()
          ;Case
          ;Case
          Case #Btn_Quit : Quit = 1
        EndSelect
        ;Case
        ;Case
      Case #PB_EventCloseWindow : Quit = 1
    EndSelect
  Until Quit = 1
  End
EndIf
Dans la fonction ResizeGadget, le valeurs qui ne doivent pas bouger sont mises à -1. Dans le cas de ce code, je ne redimensionne que la longueur du StringGadget()

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

Message par garzul »

stp tu peux corriger mon code que je tai donner en haut merci :)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Voila ton code corrigé:

Si tu peux, essaye de faire au moins une fonction par toi même, ou alors demande franchement: "Est-ce que vous pouvez me faire mon programme ??" :wink: :lol:

Code : Tout sélectionner

 ; PureBasic Visual Designer v3.80 build 1249 


;- Window Constants 
; 
Enumeration ;Les enumeration des menus pour les reprendre apres. 
  #Window_1 
EndEnumeration 
;- MenuBar Constants 
; 
Enumeration 
  #MenuBar_4 
EndEnumeration 
;- Saisi du texte (gadget) 
Enumeration 
  #Gadget_2 
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()
  ;/ 1° Pas besoin d'être à la fois #ScreenCentered et #WindowCentered
  If OpenWindow(#Window_1, 0, 0, 400, 200,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered, "Garzul note pad") 
    ;/ 2° Si tu veux pouvoir redimensionner les différents gadgets, il faut que tu leur
    ;/ donne leur position et leur dimension par rapport à la fenêtre. Il faut également
    ;/ tenir compte des dimensions de la StatusBar, si il y en a une
    
    If CreateGadgetList(WindowID(0)) ;je cree le gadget saisie de texte dans windows 
      StringGadget(0,10,10,WindowWidth()-20,WindowHeight()-60,"",#PB_String_MultiLine|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT) ;Je cree la scrolbar ainsi que le retour a la ligne 
      ;terminer pour le saisie de texte 
      
      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 propos du garzul note pad") 
      EndIf 
      
      If CreateStatusBar(#StatusBar_0, WindowID()) 
        AddStatusBarField(550) 
        StatusBarText(#StatusBar_0, 0, "field") 
      EndIf 
      
      If CreateGadgetList(WindowID()) 
      EndIf 
    EndIf 
    ResizeGadget(0,-1,-1,WindowWidth()-20,WindowHeight()-60)
    
  EndIf 
EndProcedure 

;******************* faut le mettre avant la boucle !!! 
Open_Window_1()

; If CreateStatusBar(#StatusBar_0, WindowID()) 
;   AddStatusBarField(WindowWidth()) ;<--- La aussi, il faut donner la dimension de la fenêtre
;   StatusBarText(#StatusBar_0, 0, "field") 
; EndIf 
; ***************************************** 

Repeat 
  
  event=WaitWindowEvent()
  ; #PB_Event_SizeWindow détecte si les dimensions de la fenêtre ont changées
  If event = #PB_Event_SizeWindow
    ResizeGadget(0,-1,-1,WindowWidth()-20,WindowHeight()-60)
    
    ;/ Si tu mets la StatusBar dans la boucle au niveau de l'evenement #PB_Event_SizeWindow
    ;/ elle est réactualisée au fur et à mesure que tu redimensionne la fenêtre.
    ;/ C'est pas très correct, comme méthode, mais ça évite de passer par une CallBack
    ;/ Et si tu as plusieurs champs dans la status, ils sont redimensionnés en proportion.
    ;/ Pour les CallBacks, on verra ça à une date ultérieure
    FreeStatusBar(#StatusBar_0)
    If CreateStatusBar(#StatusBar_0, WindowID())
      AddStatusBarField(WindowWidth()/3)
      AddStatusBarField((WindowWidth()/3)*2) ;<--- La aussi, il faut donner la dimension de la fenêtre
      StatusBarText(#StatusBar_0, 0, "field") 
    EndIf 
  EndIf
  
  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 
Until event=#PB_Event_CloseWindow 
J'ai mis des commentaires là ou j'ai fait des modifications.

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

Message par garzul »

merci mais quand tu dit
Si tu peux, essaye de faire au moins une fonction par toi même, ou alors demande franchement: "Est-ce que vous pouvez me faire mon programme ??"
je vais repondre a ta question ,je suis un debutant en prog pure basic seuleument d'2 deux jours et j'ai deja fait comme programme inutile un hello world pas tres dur pour comencer et une devinette ou tu inscris ton nombre et sa te dit si c plus ou moin et qui gere aleatoirement et ou tus as 5 essai autrement tu as perdu voila sa je lai fait tout seul mais en fait j'aprends les programme que vous me faite pour les refaire apres. merci :lol: :D :)
Répondre