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

Delphi Discussion :

Capturer le messge de double-clique d'un RichEdit


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut Capturer le messge de double-clique d'un RichEdit
    Bonjour,

    je cherche à intercepter le message de double clique sur un RichEdit.

    J'ai essayé avec BN_DOUBLECLICKED mais pas de résultat.

    Si ce n'est pas possible est-ce le message BN_CLICKED qu'il faut envoyer au RichEdit pour simuler un clique gauche ?

    Quelqu'un a-t-il un idée car google ne m'a pas donné de réponse ?

    Merci d'avance.

    PS : j'ai essayé avec le composant TApplicationEvents sans succès

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    as-tu essayé de voir ce que donnait le OnMouseUp/Down ?

    Ensuite pour ta simulation, un clic gauche serait-il pour modifer la position du curseur ? voir CaretPos
    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
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Si ce n'est pas possible est-ce ... qu'il faut envoyer au RichEdit pour simuler un clique gauche ?
    Autre suggestion : intercepter avec KeyPreview:=True pour Form1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    ...
                If (Sender is TRichEdit) and (ssDouble in Shift)  // On a double-cliqué sur la souris.
                then shift:=[ssLeft]; // double-click transformé en click-Gauche
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  4. #4
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    En fait inutile de mettre KeyPreview à true car ce n'est pas au clavier mais à la souris qu'on double clique.

    Il faut mettre le code suivant dans OnMouseDown du TRichEdit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        if (ssDouble in Shift)  // On a double-cliqué sur la souris.
        then
            Caption := 'Double clique'
        else
            Caption := 'rien' ;
    Merci encore pour votre aide ! Ca marche

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

Discussions similaires

  1. [VB]Double clique sur liste...
    Par STRUFIELD dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/01/2006, 13h43
  2. Récupération du double clique danns CRichEdit
    Par vanitom dans le forum MFC
    Réponses: 6
    Dernier message: 08/11/2005, 11h04
  3. [JTree] Double clique
    Par Gob4 dans le forum Composants
    Réponses: 2
    Dernier message: 06/09/2005, 22h10
  4. [Jar] Double clique ne fonctionne pas ...
    Par sylvain_2020 dans le forum Général Java
    Réponses: 4
    Dernier message: 11/08/2004, 19h24
  5. [MFC] Ouvrir un document par double-clique
    Par Choupinou dans le forum MFC
    Réponses: 7
    Dernier message: 03/08/2004, 12h38

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