Page 1 sur 1
Souris et OpenWindow()
Publié : jeu. 17/juin/2010 18:58
par GallyHC
Bonjour,
Je recherche une methode simple pour pouvoir savoir quand on clique sur la souris. le programme est sur une fenêtre OpenWindow() et cette detection du clique doit etre en multi-os (windows, linux et mac). J'ai cherche mais encore rien trouvé.
Cordialement,
GallyHC
Re: Sourie et OpenWindow()
Publié : jeu. 17/juin/2010 19:39
par Backup
GallyHC a écrit :Bonjour,
Je recherche une methode simple et efficasse pour pouvoir soir quand on clique sur la sourie. le programme est sur une fenêtre OpenWindow() te cette detection di clique doit etre multi-os (windows, linux et mac). J'ai cherche mais encore rien trouvais.
Cordialement,
GallyHC
relis toi s'il te plait , et prends ton temps
parceque là , ben je comprends pas, alors surement que d'autres non plus

Re: Sourie et OpenWindow()
Publié : jeu. 17/juin/2010 19:58
par TazNormand
Je pense qu'il cherche une méthode pour détecter si le clic souris se déroule sur une fenêtre qu'il a ouverte par "openwindow()"
GallyHC, tu confirmes ou alors donnes une explication plus "française" ?
Re: Sourie et OpenWindow()
Publié : jeu. 17/juin/2010 19:59
par venom
c'est clair j'ai pas non plus compris là
@++
Re: Sourie et OpenWindow()
Publié : jeu. 17/juin/2010 20:04
par lepiaf31
Moi j'ai compris la même chose que TazNormand.
Ma traduction:
Je recherche une methode simple et efficace pour pouvoir savoir quand il y a un clic de la souris. Le programme est une fenêtre ouverte avec OpenWindow() et cette detection du clic doit etre multi-os (windows, linux et mac). J'ai cherché mais je n'ai encore rien trouvé.
Re: Sourie et OpenWindow()
Publié : jeu. 17/juin/2010 20:42
par G-Rom
Code de Berikco :
http://www.purebasic.fr/english/viewtop ... ouseButton
Code : Tout sélectionner
Procedure WindowMouseButton(Wnd, ButtonNr)
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
;Linux Version
Protected gdkWnd.l, x.l, y.l, mask.l
If Wnd
*Window.GTKWindow = Wnd
gdkWnd = *Window\bin\child\window
gdk_window_get_pointer_(gdkWnd, @x, @y, @mask)
Select ButtonNr
Case 0
If (mask & #GDK_BUTTON1_MASK)
ProcedureReturn 1
EndIf
Case 1
If (mask & #GDK_BUTTON3_MASK)
ProcedureReturn 1
EndIf
Case 2
If (mask & #GDK_BUTTON2_MASK)
ProcedureReturn 1
EndIf
EndSelect
EndIf
CompilerElse
;Windows Version
If Wnd And GetForegroundWindow_() = Wnd
Select ButtonNr
Case 0
If GetAsyncKeyState_(#VK_LBUTTON) > 0
ProcedureReturn 1
EndIf
Case 1
If GetAsyncKeyState_(#VK_RBUTTON) > 0
ProcedureReturn 1
EndIf
Case 2
If GetAsyncKeyState_(#VK_MBUTTON) > 0
ProcedureReturn 1
EndIf
EndSelect
EndIf
CompilerEndIf
ProcedureReturn 0
EndProcedure
;-ExampleCode:
OpenWindow(0, 0, 0, 300, 200, #PB_Window_SystemMenu, "Test")
hWnd = WindowID()
If hWnd <> 0
CreateGadgetList(WindowID())
TextGadget(0, 10, 10, 280, 20, "Status")
Repeat
Event = WindowEvent()
If WindowMouseButton(hWnd, 0)
SetGadgetText(0, "Left MouseButton pressed" )
ElseIf WindowMouseButton(hWnd, 1)
SetGadgetText(0, "Right MouseButton pressed" )
ElseIf WindowMouseButton(hWnd, 2)
SetGadgetText(0, "Middle MouseButton pressed")
EndIf
Delay(15)
Until Event = #PB_Event_CloseWindow
EndIf
End
Re: Sourie et OpenWindow()
Publié : jeu. 17/juin/2010 21:26
par GallyHC
merci Dobro et desolé, j'ai tapé vite fait avant de partir voila le résultât. mille excuses.
Oui je cherche une solution simple pour detecter les cliques souris droit et gauche et qui soit pour les 3 OS.
Cordialement,
GallyHC
Re: Souris et OpenWindow()
Publié : ven. 18/juin/2010 18:16
par G-Rom
le code plus haut te convient pas ?
Re: Souris et OpenWindow()
Publié : sam. 19/juin/2010 10:34
par GallyHC
Cele me convient au 2/3 car 3 OS et ce code n'en fait que 2 mais c deja pas mal du tout. Faudrait trouver des DEV mac qui puissent nous aider a trouver le code qui manque.
Cordialement,
GallyHC