CreatePopupMenu()
Syntaxe
Resultat = CreatePopupMenu(#Menu)Description
Crée un nouveau menu contextuel (PopUp) vide qui porte le numéro #Menu et devient le menu en cours de création. Il est alors possible d'utiliser les fonctions MenuItem(), MenuBar(), etc... La fonction DisplayPopupMenu() sera ensuite utilisée pour afficher ce menu contextuel à l'écran. Si #PB_Any est utilisé pour le paramètre '#Menu', le numéro du nouveau menu sera renvoyé dans 'Resultat'. Si le menu ne peut pas être créé, 'Resultat' prendra la valeur 0.
Pour gérer les évènements relatifs aux menus, voir la description des commandes suivantes:
WaitWindowEvent() (ou WindowEvent())
EventWindow()
EventMenu()
Exemple:
If OpenWindow(0, 200, 200, 220, 120, "Exemple de menu contextuel") If CreatePopupMenu(0) ; La création du menu contextuel commence... MenuTitle("Projet") ; Vous pouvez utiliser toutes les commandes relatives au menu, MenuItem(1, "Ouvrir") ; comme si c'était un menu normal... MenuItem(2, "Enregistrer") MenuItem(3, "Enregistrer sous") MenuItem(4, "Quitter") MenuBar() OpenSubMenu("Fic&hiers récents") MenuItem(5, "PureBasic.exe") MenuItem(6, "Test.txt") CloseSubMenu() MenuTitle("Editer") MenuTitle("Options") EndIf Repeat Select WaitWindowEvent() ; Examine quel type d'évènement est survenu sur la fenêtre Case #WM_RBUTTONDOWN ; Le bouton droit de la souris a été clické => DisplayPopupMenu(0,WindowID(0)) ; On affiche le menu contextuel Case #PB_Event_Menu ; Un élément du menu a été sélectionné Select EventMenu() ; On recupère le numéro de cet élement... Case 1 : Debug "Menu : Ouvrir" Case 2 : Debug "Menu : Enregistrer" Case 3 : Debug "Menu : Enregistrer sous" Case 4 : Quitter = 1 Case 5 : Debug "Menu : PureBasic.exe" Case 6 : Debug "Menu : Text.txt" EndSelect Case #PB_Event_CloseWindow Quitter = 1 EndSelect Until Quitter = 1 EndIf
OS Supportés
Tous