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 :

TRichEdit - Lancer event MouseUp


Sujet :

Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut TRichEdit - Lancer event MouseUp
    Qqu'un sait-il comment lancer l'évènement MouseUp sur le Clique gauche de la souris ss Windows98 qd on accède à un chps RichEdit?

    Ss WXP/2K , il n'y a pas de pbme ms RichEd32.dll est différente de celle de
    w98...

    J'ai essaye l'event OnClick également ms il ne fonctionne pas

    merci
    co

  2. #2
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Salut et bienvenue dans les forums de Developpez.com !

    Tu peux éventuellement essayer la solution suivante et l'adapter à ton cas, c'est apparemment le même genre de réponse -> Créer soi-même l'événement d'un objet :
    http://www.developpez.net/forums/sho...66#post1009866

    Par exemple, avec OnMessage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {----------------------------------------------------------------}
    Procedure TForm1.FormCreate(Sender: TObject);
    Begin
      Application.OnMessage := ProcMess;
    End;
     
    {----------------------------------------------------------------}
    Procedure TForm1.ProcMess(Var msg: TMsg; Var Handled: Boolean);
    Begin
      If (msg.Message = WM_LBUTTONUP) And
         (WindowFromPoint(Mouse.CursorPos) = RichEdit1.Handle) Then Beep;
    End;

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    merci de l'accueil & de l'aide.

    Sous XP, le code marche sans problème; hélas pas sous W98 ...
    Cela marche la 1er fois que j'entre dans le champs sous W98 mais la 2nde fois, rien ne se passe ... l'event n'est pas lancé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    PROCEDURE TForm1.FormCreate (Sender: TObject);
    ...
    Application.OnMessage := ProcMess;
    ...
     
    PROCEDURE TForm1.ProcMess(Var msg: TMsg; Var Handled: Boolean);
    BEGIN
      IF (WindowFromPoint(Mouse.CursorPos) = RichEdit1.Handle)
      AND (msg.Message = WM_LBUTTONUP) 
      THEN
           RichEdit1MouseUp ( RichEdit1, mbLeft, [ssLeft], 0 , 0);
    END;
    une idée?
    merci

  4. #4
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Tu dois enlever l'événement créé par Delphi si tu le généres toi-même. Il faut donc supprimer la redirection vers ta procédure RichEdit1MouseUp dans l'inspecteur d'objet ou avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RichEdit1.OnMouseUp := Nil;
    Si cela ne fonctionne toujours pas, c'est qu'il ya un problème ailleurs selon moi...

    -> Merci d'utiliser les balises code :
    Clique sur le # dans l'éditeur de message après avoir sélectionner ton code dans le textarea.
    -> Lecture des règles du forum si ce n'est pas déjà fait, le style SMS est interdit :
    "Ss" = "Sous"
    "pbme" = "problème"
    ect...
    Merci de reéditer ton message et de corriger tout ça.

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    J'avais bien enlevé dans l'inspecteur d'objet le nom de la procédure dans OnMouseUp.

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Il faudrait que je réinstalle Win98 pour pouvoir faire des essais...
    Je vais essayer de m'y pencher ce soir si j'ai un peu de temps libre, je ne te promets rien. En attendant, si d'autres membres pensent avoir une solution à ce problème, n'hésitez pas à la proposer.

    ps: Merci d'avoir corriger ton post

Discussions similaires

  1. [Problème Event MouseUp C++ Builder]
    Par Nuclear88 dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/03/2010, 08h33
  2. Réponses: 1
    Dernier message: 15/08/2007, 15h45
  3. Réponses: 4
    Dernier message: 25/06/2007, 18h21
  4. Lancer depuis une fonction des events de composants ?
    Par Jimmy_S dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/06/2007, 16h55
  5. [Event] Lancer un évent de l'applicatif vers le GUI
    Par holo dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 03/10/2005, 11h48

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