PureBasic

Forums PureBasic
Nous sommes le Mer 26/Juin/2019 4:57

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 
Auteur Message
 Sujet du message: Menu PopUp pas si popup que ça.
MessagePosté: Lun 28/Fév/2011 17:31 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6823
Localisation: IDF (Yvelines)
J'ai installé la distribution Ubuntu sur mon pc et je commence à tester quelques codes. En suivant le tutoriel de Dobro j'ai pu, je l'espère, installer Pure Basic sous cet environnement.

Je rencontre un soucis sur les menu contextuels de mes exemples car il ne s'affiche pas.
Comme le montre le code, la touche droite de la souris est bien détectée mais le menu popup n’apparaît pas.

Code:
Procedure EventMouse()
  Protected wnd.i
  If GetActiveWindow()<>-1
    Wnd=WindowID(GetActiveWindow())
      Protected gdkWnd.l, x.l, y.l, mask.l,  *Window.GTKWindow =Wnd
      gdkWnd = *Window\bin\child\window
      gdk_window_get_pointer_(gdkWnd, @x, @y, @mask)
     
      If (mask & #GDK_BUTTON1_MASK)
        ProcedureReturn 1   
      ElseIf (mask & #GDK_BUTTON3_MASK)
       ProcedureReturn 2
      ElseIf (mask & #GDK_BUTTON2_MASK)
        ProcedureReturn 3
      EndIf
    EndIf
EndProcedure

If OpenWindow(0, 200, 200, 220, 120, "Exemple de menu contextuel")
    If CreatePopupMenu(0)       
      MenuItem(1, "Couper") 
      MenuItem(2, "Copier")
      MenuItem(3, "Coller")
    EndIf
   
    Repeat
      EventMouse=EventMouse()
     
      Debug EventMouse()
      If EventMouse=2
        DisplayPopupMenu(0,WindowID(0))
      EndIf
           
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          End
      EndSelect
    ForEver
  EndIf

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Menu PopUp pas si popup que ça.
MessagePosté: Lun 28/Fév/2011 18:37 
Hors ligne

Inscription: Mer 11/Fév/2004 0:32
Messages: 1015
Localisation: Québec, Canada
Bonjour,

Je viens de tester ton code et chez moi (Ubuntu 10.10 x64) j'ai bien un PopUp Menu avec "Couper Copier Coller" qui s'affiche.

A+
Guimauve


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Menu PopUp pas si popup que ça.
MessagePosté: Lun 28/Fév/2011 18:47 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6823
Localisation: IDF (Yvelines)
Ha M*** Mince :p

Soucis dans ma config Ubuntu peut être ! (Ubuntu 10.10 x86)
En tout cas merci d'avoir effectuer ce test.

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Menu PopUp pas si popup que ça.
MessagePosté: Lun 28/Fév/2011 18:50 
Hors ligne

Inscription: Mer 11/Fév/2004 0:32
Messages: 1015
Localisation: Québec, Canada
Re-Bonjour,

Je ne sais pas trop, l'exemple tiré de l'aide de PB ne fonctionne pas correctement. Alors je ne sais pas trop quoi dire !

J'ai pas vraiment le temps aujourd'hui de pousser l'investigation, il est possible que les commandes PopupMenu soient boguées.

A+
Guimauve


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Menu PopUp pas si popup que ça.
MessagePosté: Lun 28/Fév/2011 19:00 
Hors ligne

Inscription: Mer 11/Fév/2004 0:32
Messages: 1015
Localisation: Québec, Canada
Bon j'ai pas pu résister...

Dis moi si le code suivant affiche le PopupMenu lorsque tu clique sur le x pour fermer la fenêtre.

Code:
  If OpenWindow(0, 200, 200, 220, 120, "Exemple de menu contextuel")
    If CreatePopupMenu(0)        ; La création du menu contextuel commence...
     ; 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()
    EndIf
    Repeat
      Select WaitWindowEvent()            ; Examine quel type d'évènement est survenu sur la fenêtre
        Case 2           ; 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


A+
Guimauve


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Menu PopUp pas si popup que ça.
MessagePosté: Lun 28/Fév/2011 21:59 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6823
Localisation: IDF (Yvelines)
Malheureusement je n'ai pas de menu contextuel.

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Menu PopUp pas si popup que ça.
MessagePosté: Mer 27/Nov/2013 15:44 
Hors ligne

Inscription: Sam 18/Fév/2012 17:09
Messages: 15
Bonjour,
même si le topic n'est pas tout jeune, il se trouve que le sujet m'intéresse en ce moment. Ainsi, je me permet d'intervenir ici pour confirmer que le code de Guimauve ne fonctionne pas chez moi non plus. Du moins jusqu'à ce que je remplace ce petit point:
Code:
Case 2           ; Le bouton droit de la souris a été clické =>
par
Code:
Case #PB_Event_RightClick           ; Le bouton droit de la souris a été clické =>


Edit:
Une fois intégré à mon programme, j'ai du mal à afficher la popup. J'obtiens de meilleurs résultat avec #WM_RBUTTONDOWN sur Windows
La raison m'est encore obscure mais bon ...

En tout cas merci pour vos exemples


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye