Utilisation de souris sur delphi

gmisof Messages postés 2 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 24 novembre 2004 - 18 nov. 2004 à 13:49
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 18 nov. 2004 à 20:36
quelle sont les commandes qui permettent d'avoir les coordonnées du souris apres un clic sur delphi?
si non il ya t'il possibilité d'inserer un code avec un language de bas niveau tel que l'assembleur?
gmisof

3 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
18 nov. 2004 à 14:07
Slt

Ce code te renvoie la position du curseur dans ta fenêtre au moment ou tu cliques dessus :
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ShowMessage(IntToStr(X) + ' ' + IntToStr(Y));
end;


@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
0
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
18 nov. 2004 à 16:38
Salut,

Juste un Pb Nico, faut pas cliquer un un composant inclus dans la Form, sinon c'est lui qui MouseDown.
On est alors obligé de rajouter dans l'évènement OnMouseDown de chaque contrôle une ligne du type
  FormMouseDown(Sender,Button, Shift,(Sender as TControl).Left+X, (Sender as TControl).Top+Y);


Autre solution : intercepter les messages

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := AppMessage;
end;
// procedure à déclarer dans le type TForm1   { Déclarations privées}
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
  if Msg.message = WM_LBUTTONDOWN  then
  begin
    // msg.pt.x et  msg.pt.y contiennent les coordonées absolues de la souris (par rapport à tout l'écran et par rapport à la fenêtre
    Handled := False; // pour permettre le traitement normal du message 
  end;
end;



Ken@vo
____________________
Code, Code, Codec !
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
18 nov. 2004 à 20:36
Effectivement Kenavo ! Je n'y avais pas pensé ;)
Merci pour cette précision !

@+
Bonne Prog'
Nico
0
Rejoignez-nous