Code : Tout sélectionner
;- Window Constants
Enumeration
  #Window_0
  #Window_1
EndEnumeration
;- MenuBar Constants
Enumeration
  #MenuBar_0
EndEnumeration
Enumeration
  #MENU_3
  #MENU_4
  #MENU_5
  #MENU_6
  #MENU_7
  #MENU_8
EndEnumeration
;- Gadget Constants
Enumeration
  #Button_10
EndEnumeration
;- Gadget Constants1
Enumeration
  #String_0
  #String_1
  #String_2
  #String_3
  #String_4
  #String_5
  #Butto_11
EndEnumeration
; la sa sera le nom de base des menus si le dossiers menu.men n'est pas present au demarrage
nouveau$ = "nouveau"
ouvrir$ = "ouvrir"
quitter$ = "quitter"
couper$ = "couper"
copier$ = "copier"
coller$ = "coller"
; la on tente d'ouvrir le dossier appeler  menu.men. si il n'existe pas on passe a la suite
OpenPreferences("c:/menu.men")
nouveau$ = ReadPreferenceString("nouveau", nouveau$)
ouvrir$ = ReadPreferenceString("ouvrir", ouvrir$)
quitter$ = ReadPreferenceString("quitter", quitter$)
couper$ = ReadPreferenceString("couper", couper$)
copier$ = ReadPreferenceString("copier", copier$)
coller$ = ReadPreferenceString("coller", coller$)
; la on cree une procedure open_1(). qui ouvrira la fenetre 2 plus tard on ne s'attarde aps sur le sujet on passe a la ligne 101
Procedure open_1()
If OpenWindow(#Window_1, 366, 232, 250, 140, "options",   #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Window_1))
      Resultat = StringGadget(#String_0, 10, 10, 100, 20, "nouveau")
      Resultat1 = StringGadget(#String_1, 10, 40, 100, 20, "ouvrir")
      Resultat2 = StringGadget(#String_2, 10, 70, 100, 20, "quitter")
      Resultat3 = StringGadget(#String_3, 140, 10, 100, 20, "couper")
      Resultat4 = StringGadget(#String_4, 140, 40, 100, 20, "copier")
      Resultat5 = StringGadget(#String_5, 140, 70, 100, 20, "coller")
      ButtonGadget(#Butto_11, 80, 110, 90, 20, "modifier")
     
    EndIf
  EndIf
  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
     
        Case #Butto_11
; donc la on renvoie le texte precedament taper dans le fichier qu'on va cree juste apres
         Texte$ = GetGadgetText(#String_0)
         Texte1$ = GetGadgetText(#String_1)
         Texte2$ = GetGadgetText(#String_2)
         Texte3$ = GetGadgetText(#String_3)
         Texte4$ = GetGadgetText(#String_4)
         Texte5$ = GetGadgetText(#String_5)
;voila la on cree le fichier menu.men a la racine du disque dur
         CreatePreferences("c:/menu.men")
; et la on reporte dans le fichier les textes taper dans les string ( les nouveau nom de menu )
          WritePreferenceString("nouveau", Texte$)
          WritePreferenceString("ouvrir", Texte1$)
          WritePreferenceString("quitter", Texte2$)
          WritePreferenceString("couper", Texte3$)
          WritePreferenceString("copier", Texte4$)
          WritePreferenceString("coller", Texte5$)
         ClosePreferences()
         MessageRequester("information", "attention pour appliquer les changement le programme doit fermer", 0)
          End
     
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
EndProcedure
; la le code commance vraiment on ouvre la fenetre principale avec les fameux menu
  If OpenWindow(#Window_0, 0, 0, 600, 300, "menu rename",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
  ; on cree les menus
    If CreateMenu(#MenuBar_0, WindowID(#Window_0))
      MenuTitle("fichier")
      MenuItem(#MENU_3, nouveau$)
      MenuItem(#MENU_4, ouvrir$)
      MenuItem(#MENU_5, quitter$)
      MenuTitle("edition")
      MenuItem(#MENU_6, couper$)
      MenuItem(#MENU_7, copier$)
      MenuItem(#MENU_8, coller$)
      EndIf
ClosePreferences()
      If CreateGadgetList(WindowID(#Window_0))
        ButtonGadget(#Button_10, 10, 10, 110, 20, "renommer les menus")
       
      EndIf
    EndIf
; la on cree les evenements du boutton   renommer les menus
  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
     
       Case #Button_10
; et la on appel la fenetre no2 le fameux open_1() pour le reste faut remontee a la ligne 75
        open_1()
       
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
  
; voila apres on ferme la fenetre et c'est rebelotte au prochain demarrage ;)
; j'espert que sa va un peut t'aider