Hot Spot

Signaler
Messages postés
24
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
5 décembre 2008
-
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
-
Bonjour,

Y'a t'il une fonction qui renvoie le point chaud du curseur, sous la forme x,y ?
J'ai cherché partout j'ai rien trouvé à ce sujet.

Merci

4 réponses

Messages postés
9
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
2 septembre 2002

Peut-être peux-tu créer un message du type :

WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;

Salutations,

Alain
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Oui cette fonction exsite : Delphi défini un ocjet strandard Mouse de type TMouse. Tu peux alors obtenir la position de la souris en permance avec :
Mouse.CursorPos.X et Mouse.CursorPos.Y
Attention les X et Y correspondent au coin haur gauche de l'écran et non de la fenêtre !

--- :sleepy) Nono du Moulin :sleepy) ---
Messages postés
24
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
5 décembre 2008
1
Non c'est pas tout à fait ce que je demandais. Un curseur s'inscrit dans une image 32x32 et je voulais connaître les points x,y actifs. J'ai finalement trouvé la réponse.
Si ça interesse qqun, voilà un bout de code.

procedure TForm1.Button1Click(Sender: TObject);
var
InfoCurs:TIconInfo;
Curs:HCursor;
begin
// Le curseur par défaut, la fleche, est à 0,0
// Je change de curseur pour vérifier que le point chaud n'est pas à 0,0
screen.cursor:=crhandpoint;
// Fonction Getcursor qui retourne le handle du curseur
Curs:=GetCursor;
// A partir du handle, renvoie dans InfoCurs tous les params du curseur
GetIconInfo(Curs,InfoCurs);
// Le résultat se trouve dans Xhotspot et Yhotspot
label1.caption:=inttostr(InfoCurs.Xhotspot);
label2.caption:=inttostr(InfoCurs.Yhotspot);
end;
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Effectivement je n'avais pas compris la question...

Mais ta solution est intéressante à retenir.

--- :sleepy) Nono du Moulin :sleepy) ---