Souris et OpenWindow()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Souris et OpenWindow()

Message 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
Dernière modification par GallyHC le jeu. 17/juin/2010 22:11, modifié 3 fois.
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Sourie et OpenWindow()

Message 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 :roll:
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Sourie et OpenWindow()

Message 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" ?
Image
Image
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Sourie et OpenWindow()

Message par venom »

c'est clair j'ai pas non plus compris là :D







@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Sourie et OpenWindow()

Message 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é.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Sourie et OpenWindow()

Message 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
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Sourie et OpenWindow()

Message 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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Souris et OpenWindow()

Message par G-Rom »

le code plus haut te convient pas ?
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Souris et OpenWindow()

Message 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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Répondre