WM_MOUSELEAVE

Signaler
Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005
-
Messages postés
47
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
9 juin 2004
-
Pkoi j'ai l'erreur suivante:
E:\tmp\TinyShell\Twiny.cpp(89) : error C2065: 'WM_MOUSELEAVE' : undeclared identifier

quabnd je fais:
case WM_MOUSEMOVE :
if (!activate)
{
activate = TRUE;
alpha = 255;
MakeAlpha(hwnd);
}
return 0;
case WM_MOUSELEAVE :
{
activate = FALSE;
alpha = 125;
MakeAlpha(hwnd);
}

thx

JackosKing For EvEr

2 réponses

Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005

hue non j'ai deja eu la reponse a cette question dsl:'(
en fait je cherche a detecter quand la sourie sort d'une fenettre comment puis je faire?
JackosKing For EvEr
Messages postés
47
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
9 juin 2004

Il y a deux possibilités:
- Soit tu captures la souris (il faut que ta fenetre soit au premier plan)
dans ce cas tu utilises la fonction SetCapture(HWND). apres cela, ta fenetre continuera de recevoir les messages de souris meme si le curseur sort de la fenetre, et cela jusqu'a ce que:
* un processus capture la souris ou appelle ReleaseCapture()
* si tu appuies sur un bouton de la souris hors de ta fenetre.
Apres avoir capturé la souris, tu rajoute dans le code de traitement de l'evenement WM_MOUSEMOVE quelques lignes qui analysent les coordonnees de la souris et regardent si celle-ci est dans la fenetre ou pas.

- Soit tu appelles la fonction TrackMouseEvent (cf MSDN). Cette fonction permet a la fenetre de recevoir un evenement WM_NCMOUSELEAVE ou WM_MOUSELEAVE (selon tes besoins), lorsque la souris sort, respectivement, de la fenetre entiere ou de sa partie client. C'est tres pratique, mais un seul evenement sera envoyé. C'est a dire que à chaque evenement WM_MOUSELEAVE il faut que tu appelles de nouveau TrackMouseEvent.

pour les details je te laisse le soin de regarder dans MSDN.

Anthrax ignisque -- Le charbon et le feu >:)