IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Récup les coordonnées du curseur sur un objet donné


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Récup les coordonnées du curseur sur un objet donné
    Bonjour,

    Tout d'abord bravo pour le site sans qui je me serais perdu
    plus d'une fois dans moult langages.

    Je cherche ici, comme l'indique le titre, à récupérer les
    coordonnées du pointeur souris, pour un TWinControl
    donné.

    Exemple : J'ai un panel "panel1", sur lequel s'affiche une image "img1".
    Au moment du survol de l'image, je veux intercepter les
    coordonnées du curseur par rapport au Panel et non par rapport à l'image.

    Or l'évènement OnMouseMove de img1 me renvoie dans les X et Y
    les coordonnées du pointeur par rapport à elle-même.
    Quant à l'évènement OnMouseMove de Panel1, il ne s'active pas
    quand je passe au-dessus de l'image, mais uniquement quand le
    panel est directement visible.

    Alors :
    1) Est-ce normal que ce dernier évènement ne s'active pas malgré
    le fait que Img1 ait pour parent Panel1 ?
    2) Comment pourrais-je résoudre mon problème ?

    Merci à vous !

    Omeggg

  2. #2
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut Re: Récupérer les coordonnées du curseur sur un objet donné
    sers-toi peut-être de la propriété clientorigin de ton Timage dans l'événement onmousemove de celui-ci.
    c'est du côté de cette propriété que tu vas trouver la solution...

  3. #3
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut Re: Récupérer les coordonnées du curseur sur un objet donné
    au premier coup d'oeil, vite fait ci-joint:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    label1.caption:='('+inttostr(x+image1.clientorigin.x-panel1.ClientOrigin.x)+','+inttostr(y+image1.clientorigin.y-panel1.ClientOrigin.y)+')';
    end;
     
    procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    label1.caption:='('+inttostr(x)+','+inttostr(y)+')';
    end;
    c'est fait rapidement, mais ça marche
    a+

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Il me semble que ClientOrigin m'indique plutôt la position
    de l'image en pixels par rapport à l'écran tout entier,
    c'est-à-dire en prenant pour origine le coin supérieur gauche
    de l'écran.
    Je vois mal comment cela pourrait m'être utile,
    pourrais-tu me donner quelques précisions ?

    Omeggg

  5. #5
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 911
    Points : 6 032
    Points
    6 032
    Par défaut
    Tu dois pouvoir utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var point:TPoint;
    ...
    point:=Panel1.ScreenToClient(Mouse.CursorPos);
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Bon je vais essayer tout ça, merci en tous cas.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci merci, ça marche avec la fonction proposée
    par Qi130, c'est super ! Merci à tous,
    pour votre promptitude en tous cas.

    Omeggg

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [E-97] Comment récupérer les coordonnées du curseur ?
    Par CAFOUIN dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 27/11/2008, 22h25
  2. Récupérer les coordonnées du curseur
    Par djtsou dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 03/05/2008, 11h51
  3. [Débutant] Lire les coordonnées du curseur
    Par minerva dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 20/04/2008, 21h20
  4. Réponses: 1
    Dernier message: 05/07/2007, 14h48
  5. Comment récupérer les coordonnées d’un clique sur une image ?
    Par da_sys dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2006, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo