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

Composants FMX Delphi Discussion :

Connaitre la position de la souris


Sujet :

Composants FMX Delphi

  1. #1
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut Connaitre la position de la souris
    Bonjour,

    J'aurais besoin de connaitre la position du cursor de la souris. Mouse.CursorPos que j'utilisais dans la VCL semble ne pas exister sur FMX.
    En furetant sur le web, j'ai trouvé Platform.GetMousePos; mais à priori ça n'existe pas: FMX.Platform ne contient que des déclarations d'interfaces.
    Quelqu'un sait-il comment récupérer ces coordonnées?
    7 fois à terre, 8 fois debout

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 487
    Points : 24 963
    Points
    24 963
    Par défaut
    GetMousePos

    essaye (en pur théorie du is et as avec des interfaces avec guid)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (FMX.Platform is IFMXMouseService) then
     (*TPointF*) MyPt := (FMX.Platform as IFMXMouseService).GetMousePos();
    ou encore en XE3, issu du code de TCommonCustomForm.MouseWheel dans FMX.Forms.pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var
      MousePos: TPointF;
      MouseService: IFMXMouseService;
    begin
        if TPlatformServices.Current.SupportsPlatformService(IFMXMouseService, IInterface(MouseService)) then
        begin
          MousePos := MouseService.GetMousePos;

    Bigre, le code de FMX est horriblement tordu avec ses interfaces et supports,
    euh, mais on dirait le code de mon gestionnaire de périphérique avec des Supports et des centaines d'interfaces
    Aurais-je l'esprit tordu ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Merci, j'y suis arrivé en utilisant ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var
      MousePos: TPointF;
      MouseService: IFMXMouseService;
    begin
        if TPlatformServices.Current.SupportsPlatformService(IFMXMouseService, IInterface(MouseService)) then
        begin
          MousePos := MouseService.GetMousePos;
    Citation Envoyé par ShaiLeTroll Voir le message
    Bigre, le code de FMX est horriblement tordu avec ses interfaces et supports,
    +1
    7 fois à terre, 8 fois debout

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/04/2015, 12h51
  2. Réponses: 1
    Dernier message: 01/05/2011, 17h00
  3. Connaitre la position dans jTable à partir de la souris
    Par totore dans le forum Composants
    Réponses: 1
    Dernier message: 17/11/2006, 18h04
  4. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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