Sur ce forum j'ai trouvais un code vraiment sympa de hestion des evements clique de la souris, mon seul problème est que je ne trouve pas de solution pour MacOS.
Quelqu'un aurais t'il une solution? Je remet a tout hazard le code de base et quelqu'un peux t'il m'aide a mettre cette demande sur le forum anglais?
Code : Tout sélectionner
Procedure.b MouseEvent(hWnd.l, hButton.l)
; GESTION DES EVENEMENTS DE LA SOURIE.
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
If hWnd And GetForegroundWindow_() = hWnd
Select hButton
Case 0
If GetAsyncKeyState_(#VK_LBUTTON) > 0
ProcedureReturn #True
EndIf
Case 1
If GetAsyncKeyState_(#VK_RBUTTON) > 0
ProcedureReturn #True
EndIf
Case 2
If GetAsyncKeyState_(#VK_MBUTTON) > 0
ProcedureReturn #True
EndIf
EndSelect
EndIf
CompilerCase #PB_OS_Linux
Protected gdkWnd.l, x.l, y.l, mask.l
If hWnd
Define *Window.GTKWindow = hWnd
gdkWnd = *Window\bin\child\window
gdk_window_get_pointer_(gdkWnd, @x, @y, @mask)
Select hButton
Case 0
If (mask & #GDK_BUTTON1_MASK)
ProcedureReturn #True
EndIf
Case 1
If (mask & #GDK_BUTTON3_MASK)
ProcedureReturn #True
EndIf
Case 2
If (mask & #GDK_BUTTON2_MASK)
ProcedureReturn #True
EndIf
EndSelect
EndIf
CompilerCase #PB_OS_MacOS
If hWnd
EndIf
CompilerEndSelect
ProcedureReturn #False
EndProcedure
GallyHC