CreateImageMenu()

Syntaxe

Resultat = CreateImageMenu(#Menu, FenetreID [, Options])
Description
Crée un nouveau menu image sur la fenêtre spécifiée.

Arguments

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

#PB_Any peut être utilisé pour générer automatiquement ce numéro.
FenetreID La fenêtre qui accueille le nouveau menu.

Ce numéro peut être obtenu avec la fonction WindowID().
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.

Les dimensions des images sont de 16x16 pixels.

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 CreateImageMenu(0, WindowID(0), #PB_Menu_ModernLook) ; La création du menu contextuel commence...
      MenuTitle("Projet")        
        MenuItem(1, "Ouvrir"   +Chr(9)+"Ctrl+O",ImageID(1)) ; Ajout de l'icône
        MenuItem(2, "Enregistrer"   +Chr(9)+"Ctrl+E")
        MenuItem(3, "Enregistrer sous"+Chr(9)+"Ctrl+R")
        MenuItem(4, "Quitter"  +Chr(9)+"Alt+F4",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

Voir aussi

CreateMenu(), CreatePopupMenu(), CreatePopupImageMenu(), FreeMenu(), MenuTitle(), MenuItem(), MenuBar(), OpenSubMenu()

OS Supportés

Tous

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