Enumeration
#WINMAIN
#Menu
EndEnumeration
#PROGRAMNAME = "Menus dynamiques"
Procedure WinMain()
ExamineDesktops()
Largeur$ = Str(DesktopWidth(0))
Hauteur$ = Str(DesktopHeight(0))
FlagWin = #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_TitleBar|#PB_Window_Invisible
If OpenWindow(#WINMAIN,0,0,220,500,#PROGRAMNAME ,FlagWin)=0
End
EndIf
If CreateMenu(#Menu,WindowID(#WINMAIN))
MenuTitle("Fichier")
MenuItem(1, "Ouvrir")
MenuItem(2, "Enregistrer")
MenuItem(3, "Enregistrer sous")
MenuItem(4, "Fermer")
MenuTitle("Edition")
For a = 0 To 10
MenuItem(#PB_Any, "Item_"+Str(a))
Next
MenuTitle("Options")
For a = 0 To 10
MenuItem(#PB_Any, "Item_"+Str(a))
Next
EndIf
HideWindow(#WINMAIN, 0)
EndProcedure
;--------------------------------------------------
;-PROGRAMME
;--------------------------------------------------
WinMain()
Repeat
Event = WaitWindowEvent()
MenuID = EventMenu()
If Event = #PB_Event_Menu
If MenuID = 4
quit=#True
Else
Debug "Menu ID: "+Str(EventMenu())
EndIf
EndIf
If Event = #PB_Event_CloseWindow
quit=#True
EndIf
Until quit=#True
End
Là j'obtiens invariablement :
Menu ID: 65535
Une idée?
Dernière modification par Jacobus le lun. 12/janv./2009 7:56, modifié 1 fois.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Enumeration
#WINMAIN
#Menu
EndEnumeration
#PROGRAMNAME = "Menus dynamiques"
#DynMenu = 100 ;initialisation
Procedure WinMain()
FlagWin = #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_TitleBar|#PB_Window_Invisible
If OpenWindow(#WINMAIN,0,0,220,500,#PROGRAMNAME ,FlagWin)=0
End
EndIf
If CreateMenu(#Menu,WindowID(#WINMAIN))
MenuTitle("Fichier")
MenuItem(1, "Ouvrir")
MenuItem(2, "Enregistrer")
MenuItem(3, "Enregistrer sous")
MenuItem(4, "Fermer")
MenuTitle("Edition")
For a = 0 To 10
MenuItem(#DynMenu+a, "Item_"+Str(a))
Next
; MenuTitle("Options")
; For a = 0 To 10
; MenuItem(#DynMenu+a, "Item_"+Str(a))
; Next
EndIf
HideWindow(#WINMAIN, 0)
EndProcedure
;--------------------------------------------------
;-PROGRAMME
;--------------------------------------------------
WinMain()
Repeat
Event = WaitWindowEvent()
MenuID = EventMenu()
If Event = #PB_Event_Menu
If MenuID = 4
quit=#True
Else
Debug "Menu ID: "+Str(EventMenu())
Debug "Texte : "+GetMenuItemText(#Menu, MenuID)
EndIf
EndIf
If Event = #PB_Event_CloseWindow
quit=#True
EndIf
Until quit=#True
End
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.