Faire un menu autrement...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Fanator
Messages : 20
Inscription : jeu. 19/avr./2007 8:14

Faire un menu autrement...

Message par Fanator »

Bonjour à tous.

Voilà une de mes trouvailles : un choix à partir de constantes chaines...

Code : Tout sélectionner

#Ouvrir$ = "&Ouvrir"
#Enregistrer$ = "Enregistrer"
#Quitter$ = "Quitter"
#Couper$ = "Couper"
#Coller$ = "Coller"
#Copier$ = "Copier"
#Aide$ = "Aide"

#Win_Principale = 10

Enumeration
  #Ouvrir
  #Enregistrer
  #Quitter
  #Couper
  #Coller
  #Copier
  #Aide
EndEnumeration

Message.s = #Null$
Texte.s = "Vous avez sélectionné le menu : "

  hWnd.l = OpenWindow(#Win_Principale, 0, 0, 250, 150, "MENU Test_03b" , #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
  If hWnd <> 0
    If CreateMenu(#Win_Principale, WindowID(#Win_Principale))
      MenuTitle("Fichier")
        MenuItem(#Ouvrir, #Ouvrir$)
        MenuItem(#Enregistrer, #Enregistrer$)
        MenuBar()
        MenuItem(#Quitter, #Quitter$)
      MenuTitle("Edition")
        MenuItem(#Couper, #Couper$)
        MenuItem(#Copier, #Copier$)
        MenuItem(#Coller, #Coller$)
      MenuTitle("Aide")
        MenuItem(#Aide, #Aide$)
    EndIf
  EndIf

  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Menu
        EventChaine.s = GetMenuItemText(#Win_Principale, EventMenu())
        Select EventChaine
          Case #Ouvrir$
            Message = Texte + EventChaine
          Case #Enregistrer$
            Message = Texte + EventChaine
          Case #Quitter$
            Message = Texte + EventChaine + Chr(10)
            Message + "Cliquez sur la croix de fermeture de la fenêtre principale pour sortir"
          Case #Couper$
            Message = Texte + EventChaine
          Case #Coller$
            Message = Texte + EventChaine
          Case #Copier$
            Message = Texte + EventChaine
          Case #Aide$
            Message = Texte + EventChaine
          Default
            Message = "Il y a une erreur quelque part : " + EventChaine + " !?"
        EndSelect
        MessageRequester("CHOIX", Message, #MB_ICONINFORMATION | #PB_MessageRequester_Ok)
      Case #PB_Event_CloseWindow
        Break
    EndSelect
  ForEver
  
  End
Cela fera surement plaisir à Dobro avec les constantes.

@+
Dernière modification par Fanator le mer. 22/mai/2013 13:34, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Faire un menu autrement...

Message par Backup »

Fanator a écrit : Cela fera surement plaisir à Dobro avec les constantes.

@+
c'est surtout qu'avec des constantes un code est plus lisible . non ? :)
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Faire un menu autrement...

Message par Ar-S »

Salut fanator.
Dobro a écrit : c'est surtout qu'avec des constantes un code est plus lisible . non ? :)
Carrément.

Par contre je n'avais jamais songé à clore une constante par un $
ça fait bizarre aux yeux même si je comprends l'intérêt vu le nom de tes gadgets.
Je préfère tout de même des Variables.s ou Variables$ pour ce qui est du texte. ça laisse plus de souplesse pour, par exemple, modifier la langue du programme.

Code : Tout sélectionner

#Aide$ = "Aide"
debug #Aide$

#Aide$ = "Help" ; ça coince car on ne modifie pas une constante (ça veut dire ce que ça veut dire)
debug #Aide$

Aide.s = "Aide"
Debug Aide.s

Aide.s = "Help"
Debug Aide.s ; Affichera bien "Help"

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre