Page 1 sur 1

PopupMenu

Publié : dim. 09/oct./2022 18:20
par pasbel
Bonjour
Essayant d'utiliser un menu popup dans un tout début de projet, et cela ne fonctionnant pas correctement, j'ai fait quelques tests avec le fichier "PopupMenu.pb" des sources : il marche ! (ça aurait été dommage)

Si je retire les lignes ci-dessous de ce code, qui n'ont rien à voir avec le popup, le popup ne s'affiche plus.
Le PopupMenu peut-il fonctionner sur le fond de base de la fenêtre, ou faut-il qu'il y ait quelques chose, un gadget par exemple, sur le fond de base de la fenêtre pour que le popup pour qu'il puisse s'ouvrir ? (il semble que ce soit le cas car sir je clique-droit à l'extérieur du ListIconGadget, en restant sur la fenêtre, le popup ne s'ouvre pas)

ListIconGadget(0, 10, 10, 280, 240, "Tools", 200)
AddGadgetItem(0, -1, "Hammer")
AddGadgetItem(0, -1, "Screwdriver")

Re: PopupMenu

Publié : dim. 09/oct./2022 19:14
par Ar-S
Salut.
Tu peux virer tes lignes sans soucis, faut juste dire au popup de s'ouvrir au clic droit ailleurs que sur la listicon

Code : Tout sélectionner

If CreatePopupMenu(0)
  MenuItem(1, "Quitter")
  MenuBar()
 EndIf

If OpenWindow(0, 100, 100, 300, 260, "PureBasic - PopupMenu Example")
  Repeat
    Select WaitWindowEvent()   
        Case #PB_Event_RightClick
            DisplayPopupMenu(0, WindowID(0))
            
          
      Case #PB_Event_Menu
      
        Select EventMenu()  ; To see which menu has been selected

          Case 1 ; Cut
            Quit = 1

        EndSelect
        
      Case #PB_Event_CloseWindow
        Quit = 1

    EndSelect

  Until Quit = 1

EndIf

End
          
P.S : lorsque tu ecris du code sur le forum, mets le entre des balise code et /code et si tu veux du coloré tu le mets entre balise code-pb et /code-pb
(une balise se met entre crochet [mabalise] .... [/mabalise]

Re: PopupMenu

Publié : dim. 09/oct./2022 20:28
par pasbel
Merci pour ta réponse.
Faut que je pense aux balises...

Après t'avoir lu, c'est une évidence, j'ai du trop faire de tests autres aujourd'hui, je devais arrivé à saturation pour ce cas.
Du coup, mon problème dans mon propre code vient d'ailleurs car je vois le popup mais tout étroit, sans les textes, mais je vais vérifier demain si j'ai le temps, j'ai peut-être fait une bévue.

J'ai vu des codes où ils mettent le CreatePopupMenu après OpenWindow, une différence, car ça semble fonctionner dans les 2 cas ? (j'ai bien dit "semble"...)

Re: PopupMenu

Publié : dim. 09/oct./2022 20:52
par pasbel
J'ai jeté un oeil sur mon propre code à problème, le popup apparait en fait au bout de 2, des fois 3, clic-droit.
Il semble que mon code de menu de fenêtre en est la cause car si je supprime cette partie, ça marche sans problème.
Je jetterai un oeil demain.
Encore merci pour ton aide et ta réactivité ;-)

Re: PopupMenu

Publié : jeu. 13/oct./2022 11:12
par pasbel
J'ai trouvé la cause de mon problème de base, le popup qui n'apparait pas correctement :
CreatePopupMenu et CreateMenu utilise la même indexation, il ne faut donc pas utiliser le même index à la création.

Merci pour ta réactivité.

Re: PopupMenu

Publié : jeu. 13/oct./2022 11:36
par Ar-S
Rien de tel que de trouver sois même la solution à son soucis :)