kakochime
Messages postés24Date d'inscriptionmardi 14 mai 2002StatutMembreDernière intervention 5 décembre 2008
-
20 août 2002 à 13:09
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 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.
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 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 !
kakochime
Messages postés24Date d'inscriptionmardi 14 mai 2002StatutMembreDernière intervention 5 décembre 20081 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;