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 :

Problème avec MouseUp


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut Problème avec MouseUp
    Bonjour,
    On connait le code pour exécuter l'évènement Click d'un bouton 1 par un bouton 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    .....................
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    begin
     Button1Click(Self);
    end;
    Cela fonctionne très bien. Mais peut-on faire de même avec l'évènement MouseUp ? Genre :
    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.Button1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
    if Button = mbRight then
    .................................
    end;
     
    procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        Button1MouseUp(Self);
    end;
    J'ai essayé, ça ne fonctionne pas, j'ai le message "manque des paramètres".
    Est-ce possible, et si oui, quels sont ces paramètres ?
    Merci pour votre aide.
    Cordialement

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 604
    Billets dans le blog
    65
    Par défaut
    Attends ces arguments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Button1MouseUp(Sender,Button,Shift,X, Y);

  3. #3
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Merci Sergio, ça fonctionne.
    Cordialement

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    attends, il suffit de choisir Button1MouseUp dans la liste proposée dans l'évènement OnClick OnMouseUp du button2...deux boutons peuvent partager le même code pour peu qu'il possède les bons paramètres.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 934
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 934
    Par défaut
    Citation Envoyé par f5jcg_Lulu Voir le message
    quels sont ces paramètres ?
    Tu les as sous les yeux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
    if Button = mbRight then
    .................................
    end;

  6. #6
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Evidemment que je les avais sous les yeux,encore fallait-il que je le sache . Je ne l'ai constaté qu'après la proposition de Sergio et c'est ce que j'attendais. Quand on ne sait pas on ne sait pas et les forums servent à apprendre me semble-t-il ! Ce qui paraît évident aux uns ne l'ai pas forcément pour les nuls
    Salutations

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 934
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 934
    Par défaut
    Je ne te juge pas, hein ! on a tous débuté

    Mais je vais te donner une autre indication : lorsque tu tapes le nom d'un procédure et dès que tu ajoute (, l'éditeur te montre les paramètres attendus. Et si ce n'est pas le cas (par exemple si tu as déplacé le curseur entretemps), la combinaison Ctrl+Shift+Espace les fait apparaitre.

    Et juste une remarque sur le premier code bien connu : Button1Click(Self) n'est pas tout à fait juste. Même si rattachée au bouton, c'est une méthode de la fiche ; Self est la fiche. Pour être tout à fait correct, ce serait Button1Click(Button2) ou Button1Click(Sender) puisque Sender de Button2Click est Button2. Enfin si Sender n'est pas utilisé dans la méthode ou que tu veux vraiment simuler l'appui sur le Button1, on ferait simplement Button1.Click.

  8. #8
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Merci AndNotor pour votre réponse. Elle est riche de tout un tas de choses que j'ignorais. Je vois qu'on peut toujours faire plus simple. C'est génial et j'ai hâte d'essayer tout ça.
    Pour le moment je vais déjeuner
    Après essai, Button1.Click fonctionne tout aussi bien que Button1Click(Self) et c'est plus simple. Encore merci.
    Cordialement

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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