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
@+