Menus dynamiques: Récupérer le MenuID [Résolu]
Publié : dim. 11/janv./2009 18:29
J'ai besoin de récupérer les MenuID créés dynamiquement avec #PB_Any. Mais est-ce que c'est possible??
Exemple:
Là j'obtiens invariablement :
Exemple:
Code : Tout sélectionner
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
Une idée?Menu ID: 65535