[CanvasGadget] MouseMove en dehors du Canvas ?
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
[CanvasGadget] MouseMove en dehors du Canvas ?
Bonjour,
Connaissez-vous un moyen natif à PureBasic pour recevoir le #PB_EventType_MouseMove sur un CanvasGadget quand il a le focus, même quand la souris est en dehors du Canvas ?
Si il n'y a pas de moyen natif à PureBasic, une suggestion peut-être avec les API Windows, Linux et Mac OS/X ?
(je dois trouver une solution crossplatform).
Connaissez-vous un moyen natif à PureBasic pour recevoir le #PB_EventType_MouseMove sur un CanvasGadget quand il a le focus, même quand la souris est en dehors du Canvas ?
Si il n'y a pas de moyen natif à PureBasic, une suggestion peut-être avec les API Windows, Linux et Mac OS/X ?
(je dois trouver une solution crossplatform).
guy rabiller | radfac founder / ceo | raa.tel | raafal.org
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
#PB_EventType_MouseMove detect le mouvement de la souris dans un canvas, c'est son rôle. Je ne vois pas comment faire en sorte qu'il capture des positions de curseurs hors canvas.
Si ce que tu veux et savoir ou se trouve le curseur (mais ta demande n'est pas très précise)
J'entrevois plusieurs solution,
- soit un canvas par bouton/gadget comme dans ta GUI mais utilisant x canvas
- soit une capture de la position du curseur dans la fenêtre mais je n'ai pas de solution cross-platform sous la main.
Si ce que tu veux et savoir ou se trouve le curseur (mais ta demande n'est pas très précise)
J'entrevois plusieurs solution,
- soit un canvas par bouton/gadget comme dans ta GUI mais utilisant x canvas
- soit une capture de la position du curseur dans la fenêtre mais je n'ai pas de solution cross-platform sous la main.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
La solution standard avec les API Window est:
Setcapture(WindowID(...))
et ReleaseCapture()
Voir MSDN ici:
http://msdn.microsoft.com/en-us/library ... s.85).aspx
Setcapture(WindowID(...))
et ReleaseCapture()
Voir MSDN ici:
http://msdn.microsoft.com/en-us/library ... s.85).aspx
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
...........
Dernière modification par Backup le lun. 08/oct./2012 12:27, modifié 1 fois.
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
Merci pour vos réponses.
En fait, oui, je me rends compte que j'ai mal exprimé ma question ou pas assez précisément.
Pas très grave, finalement j'ai résolu mon problème avec un Timer et DesktopMouseX() & DesktopMouseY(), et au moins c'est crossplatform.
(c'est dans le cadre d'un "eye dropper" pour sélectionner une couleur visible à l'écran).
@Dobro
Oui mais ta préférence ne permet pas de recevoir les messages Windows alors que SetCapture, oui.
En fait, oui, je me rends compte que j'ai mal exprimé ma question ou pas assez précisément.
Pas très grave, finalement j'ai résolu mon problème avec un Timer et DesktopMouseX() & DesktopMouseY(), et au moins c'est crossplatform.
(c'est dans le cadre d'un "eye dropper" pour sélectionner une couleur visible à l'écran).
@Dobro
Oui mais ta préférence ne permet pas de recevoir les messages Windows alors que SetCapture, oui.
guy rabiller | radfac founder / ceo | raa.tel | raafal.org
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
Code : Tout sélectionner
Timer et DesktopMouseX() & DesktopMouseY()
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
grabiller a écrit :@Dobro
Oui mais ta préférence ne permet pas de recevoir les messages Windows alors que SetCapture, oui.
je vois pas le rapport ...
tu demande a récupérer les coordonnées du curseur souris , ç'est ce que ça fait !
pour récupérer les messages windows de ton application tu as WindowEvent()
quoiqu'il en soit, je prefere utiliser une fonction qui aille a l'essentiel , plutot qu'une fonction, qui finira par utiliser celle-ci ..
pas mal d'Api en utilise d'autres ....
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
@Dobro
Non mais ma question était mal posée, nico à répondu en tenant compte de ma requête de recevoir un mouse event, c'est juste que tu as préféré une solution qui ne tenait pas compte de cela, je soulignais juste la différence.
Rien de grave, encore une fois. Au final j'utilise un timer et les deux fonctions natives de PB (que tu aurai du proposer si tu aimes aller à l'essentiel
mais là je te taquine).
Mes remerciements pour les réponses incluaient la tienne.
Non mais ma question était mal posée, nico à répondu en tenant compte de ma requête de recevoir un mouse event, c'est juste que tu as préféré une solution qui ne tenait pas compte de cela, je soulignais juste la différence.
Rien de grave, encore une fois. Au final j'utilise un timer et les deux fonctions natives de PB (que tu aurai du proposer si tu aimes aller à l'essentiel

Mes remerciements pour les réponses incluaient la tienne.
guy rabiller | radfac founder / ceo | raa.tel | raafal.org
Re: [CanvasGadget] MouseMove en dehors du Canvas ?
exactegrabiller a écrit :@Dobro
nico à répondu en tenant compte de ma requête de recevoir un mouse event, c'est juste que tu as préféré une solution qui ne tenait pas compte de cela,
