Menu popup...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Menu popup...

Message par dayvid »

Salut !

Non je sais faire des menue popup rassurez vous :lol:
non en faite je suis ennuyer car je n'est pas réussie
a faire un menue popup pour chacun de mes gadget

Éditeur et Listicone gadget

Enfin j'y suis arriver mais ce que je veut dire c'est que par exemple pour l'éditor gadget
ont peut crée un menue popup mais hélas il s'affiche même si ont clique droit
sur la fenêtre ou un bouton etc.

Moi je voudrait un menue popup Différent a chaque gadget et pas que quand
je clique droit sur un bouton ou sur la fenêtre que l'un d'entre eu ce montre

exemple:

Image

Vous savez comment c'est possible de faire ?
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Menue popup...

Message par falsam »

Voila de quoi t'aider.

Code : Tout sélectionner

Enumeration
  #Mainform
  
  #Editor
  #ListIcon
  #String
  
  #PopUp_1 
  #popUp_2
EndEnumeration

Procedure OpenWindow_Window_0()
  If OpenWindow(#Mainform, 452, 214, 715, 445, "Deux popups", #PB_Window_SystemMenu)
    EditorGadget(#Editor, 20, 15, 430, 360)
    ListIconGadget(#ListIcon, 465, 15, 230, 355, "Gadget_1", 100)
    StringGadget(#String, 20, 395, 670, 25, "")
    
    CreatePopupMenu(#PopUp_1)
        MenuItem(1, "Couper")    
        MenuItem(2, "Copier")
        MenuItem(3, "Coller")
        MenuBar()
        MenuItem(4, "Ajouter dans le dictionnaire :p")
      
    CreatePopupMenu(#PopUp_2)
        MenuItem(1, "Selectionner")    
        MenuItem(2, "Insérer")
        MenuItem(3, "Ajouter")
    
  EndIf
EndProcedure

OpenWindow_Window_0()

;Le gadget est 'il survolé ?
Procedure.b GadgetHover(Gadget.l, Window.l)
  
  ; Ou se trouve le pointeur de la souris
  x = WindowMouseX(Window) 
  y = WindowMouseY(Window)
  
  ; Quel sont les coordonnées du gadget survolé
  gx = GadgetX(gadget)
  gy = GadgetY(gadget)
  
  If x >= gx And x <= gx+GadgetWidth(Gadget)
    If y >= gy And y <= gy+GadgetHeight(Gadget)
      ProcedureReturn #True
    EndIf
  EndIf
  ProcedureReturn #False
EndProcedure


Repeat
  Select  WaitWindowEvent()    
    Case #WM_RBUTTONDOWN
      
      If GadgetHover(#Editor,#MainForm)
        DisplayPopupMenu(#PopUp_1,WindowID(#MainForm))  
      EndIf
      
      If GadgetHover(#ListIcon,#Mainform)
        DisplayPopupMenu(#PopUp_2,WindowID(#Mainform))  
      EndIf
  
    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
Dernière modification par falsam le sam. 16/oct./2010 19:33, modifié 3 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Menue popup...

Message par dayvid »

Grand merci falsam :D

Whou trop génial ton code Falsam
c'est ingénieux :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Répondre