Faire bouger souris sur map

Résolu
aureliensm Messages postés 21 Date d'inscription mercredi 31 décembre 2003 Statut Membre Dernière intervention 21 janvier 2007 - 21 janv. 2006 à 14:41
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 21 janv. 2006 à 20:35
Bonjour à tous. Actuellement, je suis dans un projet de jeu (RTS) et j'aimerais pouvoir me déplacer sur une map à l'aide de la souris sans cliquer sur la souris. juste en la bougeant.
Mais je ne sais pas quels composants utiliser.
j'utilise delphi 7 perso
merci

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
21 janv. 2006 à 19:29
Pour déplacer le curseur d ela souris en un point quelconque sur une fiche ou un autre composant, utiliser la propriété CursorPos de l'objet Mouse :

procedure TForm1.Button1Click(Sender: TObject);
begin
  Mouse.CursorPos :=  Image1.ClientToScreen(Point(10,10));
 end ;

Tu peux t'aider de la fonction ClientToScreen car l'objet Mouse ne connait que les coordonnées globales de l'écran. En opérant comme cela, le curseur de la souris sera positionné aux coordonnées (10,10) sur Image1.


<HR color =#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
21 janv. 2006 à 20:35
Si tu veux positionner la souris, tu dois fournir les coordonnées à la fonction Point comme ci-dessus.
Si tu veux connaitre les coordonnées de la souris, utilise l'évènement OnMouseMove sur le composant que tu veux "pister". Dans les arguments transmis à la méthode, tu trouveras les coordonnées X et Y exprimées par rapport au coin supérieur gauche du composant.
<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
aureliensm Messages postés 21 Date d'inscription mercredi 31 décembre 2003 Statut Membre Dernière intervention 21 janvier 2007
21 janv. 2006 à 20:20
Merci de ta réponse, elle me convient parfaitement. Par contre, vu que je suis un peu novice, j'aurais quelques autres trucs à vous demander.
pour cela : Mouse.CursorPos := Image1.ClientToScreen(Point(10,10));

La position de la souris sera donc au point 10,10.
mais par contre, si je déplace la souris vers la gauche, le haut, le bas ou la droite, comment devrais-je procéder ? Car là, j'ai juste indiqué une position.
merci
0
Rejoignez-nous