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 :

Problème de clic droit


Sujet :

Delphi

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut Problème de clic droit
    Bonjour,
    je cherche a ouvrir un pop-up menu lorsque je fait un clic droit sur un element.
    J'ai remarqué que mon clic droit ne sélectionne pas l'élement sur lequel j'ai cliquer.
    Il me faut faire un clic gauche dans un premier temps sur mon element, puis un clic droit.
    Est ce possible de rendre mon clic droit selectif ?
    Merci

  2. #2
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Certains composants le prévoie. Sinon dans le click droit (OnMouseDown) tu fait un SetFocus.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    ok, je vais essayer ça.
    Merci

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    Bonjour,
    désolé de remettre à jour ce topic mais mal grès les conseils, je n'arrive toujours pas a sélectionner un nœud avec mon clic droit.
    Voici ma dernière tentative
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TFrmArbreTemp.TreeView1MouseActivate(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y, HitTest: Integer;
      var MouseActivate: TMouseActivate);
    begin
      inherited;
      TreeView1.SetFocus;
    end;
    Lorsque je fait un clic gauche sur un nœud, mon nœud devient bleue et est encadré par un rectangle en pointillé.
    Lorsque je fait un clic droit, mon nœud devient bleue mais n'est pas encadré. Le cadre reste sur le dernier nœud ou un clic droit a été effectué.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Pour un TTreeView tu as tout simplement la propriété RightClickSelect à positionner à true pour que le clic droit entraine une sélection.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    Je viens justement de tomber sur cette propriété dans l'aide de delphi, mais ça ne marche toujours pas.
    Pourtant à la lecture de l'aide j'avais un bon espoir de réussite.
    Mon rectangle reste toujours sur le dernier nœud sélectionné avec un clic gauche.

  7. #7
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut
    personelement d'aprés se que j'ai compri
    ta plusieur noeud
    je pence que tu dois donné la position de ton noeud dans la Tforme
    merci bcp

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sapin Voir le message
    Je viens justement de tomber sur cette propriété dans l'aide de delphi, mais ça ne marche toujours pas.
    Pourtant à la lecture de l'aide j'avais un bon espoir de réussite.
    Mon rectangle reste toujours sur le dernier nœud sélectionné avec un clic gauche.
    Avez-vous fait attention à enlever tout code "parasite" que vous aviez pu mettre jusqu'à présent et qui pourrait interférer avec le traitement standard de la propriété ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    salut,
    normalement la position du nœud est renseigner dans le treeview de maniere automatique avec un clic. je n'ai donc pas a le faire normalement. Mais si tu as une idée de comment faire pour signalé ce nœud, je suis preneur.

    J'ai fait un petit montage pour rendre le probleme plus explicite.

    De plus, je me demande si mon probleme ne vient pas du fait que mon clic droit déclenche un pop-up menu.
    Merci pour les coups de main.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par Aka Guymelef Voir le message
    Avez-vous fait attention à enlever tout code "parasite" que vous aviez pu mettre jusqu'à présent et qui pourrait interférer avec le traitement standard de la propriété ?
    La gestion du menu pop-up déclenché par un clic droit peut être ?
    Il est peut être possible que le menu s'ouvre avant que le treeview soit remis a jour.

  11. #11
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut
    donc a chaque fois que vous qliqué sur un noeud ,il devien bleu et il y'a un rectangle qui ce désigne
    si c'est ca ,pourquoi ne pas fair
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    (if neud=bleu and rectangle est déssiné)
    then bouton drois il marche
    else il marche pas
    merci bcp

  12. #12
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    En fait ce n'est pas ce que Sapin cherche à faire. Il ne veut pas détecter si le clic droit a fonctionné ou pas mais que son clic droit entraine la sélection du noeud pointée par la souris...
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  13. #13
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Re bonjour
    Aka Guymelef a bien compris mon problème.
    J'ai encore cherché une solution à mon problème sans succès.
    Je m'assure bien que je passe dans un événement après que RigthClickSelect soit à vrai, je fait bien un et pourtant je ne sélectionne toujours pas mon bon nœud.

    PS : j'ai voulu changer mon email sur le compte sapin, et depuis je ne peux plus rien faire avec . Si un modérateur peut jeter un œil, merci.

  14. #14
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Peut-être que c'est ce SetFocus en plus qui pose problème, avez-vous essayer de le retirer et de tester si cela fonctionnait ?

    PS : j'ai contacté quelqu'un pour votre problème de compte Sapin.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  15. #15
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    J'ai bien testé sans le SetFocus.
    Je n'arrive pas à mettre la main sur la gestion du pop-up menu (la joie de récupéré des projets sans doc...), pour voir comment cela ce passe avec un clic gauche et refaire a l'identique pour un clic droit pour dépanner.
    Cela dit, je ne comprend pas pourquoi la propriété RigthClickSelect ne tient pas ses promesses....

    Ps : Merci pour le pb de compte.

  16. #16
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Peut-être que c'est effectivement l'addition clic droit + popup néanmoins je n'irais pas jusqu'à l'affirmer parce que je n'ai pas utilisé ce composant jusqu'à présent, et encore moins dans ce cadre ^^°
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut Resolu
    Bon, ben voila une solution qui me dépanne pour l'instant.
    Ça n'est pas très propre mais bon, ça fait ce que je souhaite pour le moment.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TArbre.TreeView1MouseActivate(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y, HitTest: Integer;
      var MouseActivate: TMouseActivate);
    begin
      inherited;
      TreeView1.Selected := TreeView1.GetNodeAt(X,Y);
    end;

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

Discussions similaires

  1. Clic droit/gauche souris
    Par Mouse! dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 30/05/2013, 20h34
  2. Problème de clic droit avec Eclipse sous Ubuntu
    Par CocoRambo dans le forum Eclipse
    Réponses: 1
    Dernier message: 18/11/2009, 09h20
  3. problème clic droit
    Par twisel dans le forum Firefox
    Réponses: 2
    Dernier message: 04/03/2009, 17h02
  4. Réponses: 3
    Dernier message: 29/04/2006, 11h58
  5. Problème avec le clic droit
    Par nebule dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/10/2004, 16h29

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