CreatePopupImageMenu()

Syntaxe

Resultat = CreatePopupImageMenu(#Menu [, Options])
Description
Crée un nouveau menu contextuel image.

Arguments

#Menu Le numéro d'identification du menu.

#PB_Any peut être utilisé pour générer automatiquement ce numéro.
Options (optionnel) Peut être une combinaison de:
  #PB_Menu_ModernLook: Active le nouveau look et affiche un dégradé (Windows seulement).

Valeur de retour

Renvoie une valeur non nulle en cas de succès, zéro sinon.
Si #PB_Any a été utilisé le numéro du menu est renvoyé en cas de succès.

Remarques

Une fois créé, il devient le menu courant et il est alors possible d'utiliser les fonctions MenuTitle(), MenuItem(), MenuBar(), et OpenSubMenu() pour remplir le menu.

La fonction DisplayPopupMenu() sera ensuite utilisée pour afficher ce menu contextuel à l'écran.

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")
    UsePNGImageDecoder()           ; Pour utiliser les images png
    If CreateImage(0,16,16,32)     ; Obligatoirement aux dimensions: 16x16
      StartDrawing(ImageOutput(0)) ; Un petit dessin
      Box(0,0,15,15,RGB(255,255,128))
      DrawRotatedText(-7, 5, "->", 45, RGB(255,0,128))
      StopDrawing()
    EndIf
                                   ; On peut aussi charger une icône toute prête.
    If LoadImage(1,#PB_Compiler_Home + "Examples\Sources\Data\ToolBar\Open.png")         
    If CreatePopupImageMenu(0, #PB_Menu_ModernLook) ; La création du menu contextuel commence...
      ;MenuTitle("Projet")        ; Décommenter pour voir la différence
        MenuItem(1, "Ouvrir",ImageID(1)) ; Ajout de l'icône
        MenuItem(2, "Enregistrer")
        MenuItem(3, "Enregistrer sous")
        MenuItem(4, "Quitter",ImageID(0)) ; Ajout de l'image perso
        MenuBar()
        OpenSubMenu("Fic&hiers récents")
          MenuItem(5, "PureBasic.exe")
          MenuItem(6, "Test.txt")
        CloseSubMenu()

    EndIf
    Repeat
      Event = WaitWindowEvent()
      Select Event                        ; Examine quel type d'évènement est survenu sur la fenêtre
        Case #PB_Event_RightClick         ; 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 : End
            Case 5 : Debug "Menu : PureBasic.exe"
            Case 6 : Debug "Menu : Text.txt"
          EndSelect

      EndSelect
    Until Event = #PB_Event_CloseWindow
  EndIf
  EndIf

OS Supportés

Tous

<- CreateMenu() - Menu Index - CreatePopupMenu() ->