Hot Spot

kakochime Messages postés 24 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 5 décembre 2008 - 20 août 2002 à 13:09
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 20 août 2002 à 23:26
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

cs_almi Messages postés 9 Date d'inscription mardi 13 août 2002 Statut Membre Dernière intervention 2 septembre 2002
20 août 2002 à 15:33
Peut-être peux-tu créer un message du type :

WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;

Salutations,

Alain
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
20 août 2002 à 22:16
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) ---
0
kakochime Messages postés 24 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 5 décembre 2008 1
20 août 2002 à 22:45
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;
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
20 août 2002 à 23:26
Effectivement je n'avais pas compris la question...

Mais ta solution est intéressante à retenir.

--- :sleepy) Nono du Moulin :sleepy) ---
0
Rejoignez-nous