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 : Tout sélectionner
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