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

C++Builder Discussion :

Aide Composant dialogue Probleme


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut Aide Composant dialogue Probleme
    bonjour

    voila jai un petit probleme

    lorsque je clique sur ma combobox jexecute le composant TFONT
    mais quand on appui sur ok la boite se reaffiche encore 2 fois de suites avant de fermer , pouvez me dire pourquoi ? et comment je peux regler ce probleme ?

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void __fastcall TF_Index:: ChangerPoliceGB(TGroupBox *MaGB)
    {
            if(FD_edit_police->Execute()) MaGB->Font = FD_edit_police->Font;
    }
     
    void __fastcall TF_Index::GB_CreerCompteContextPopup(TObject *Sender,
          TPoint &MousePos, bool &Handled)
    {
            ChangerPoliceGB(GB_CreerCompte);
    }

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Si j'ai bien compris, tu utilise cette évènement pour modifier la font lorsque tu fait un clique droit sur le TGroupBox GB_CreerCompte, dans ce cas pourquoi ne pas utiliser OnMouseUp ou OnMouseDown ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    Oui tu as bien compris
    Jutilise cet evenement car je veux juste le clique droit pas les autres
    Tu as une reponse a mes questions?

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui avec l'évènement OnMouseUp, cela devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void __fastcall TF_Index:: ChangerPoliceGB(TGroupBox *MaGB)
    {
      if(FD_edit_police->Execute()) MaGB->Font = FD_edit_police->Font;
    }
     
    void __fastcall TF_Index::GB_CreerCompteMouseUp(TObject *Sender,
          TMouseButton Button, Classes::TShiftState Shift, int X, int Y)
    {
      if(Button == mbRight)       
        ChangerPoliceGB(GB_CreerCompte);
    }

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    Non ca change rien a mon probleme je viens dessayer
    Cest peut etre le nombre dobjet a modifier dans la groupbox qui fait cela ....

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    L'évènement est bien le seul endroit ou tu appelle ta fonction ChangerPoliceGB ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    Oui bien sur!
    jai réesayer de refaire la manip avec un nouveau objet Tfontdialog mais tjs pareil ....

  8. #8
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Je viens d'essayer, avec une fenetre un GroupBox qui contient 3 labels et tout fonctionne correctement chez moi, je n'ai qu'une seul fois la TFontDialog

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    wai bah la javoue ne pas comprendre ....

  10. #10
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    L'évènement est affecté uniquement à ce groupBox ou aussi a d'autre composant ?

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    Il a pls groupbox superposée mais cachée avec la propriété visible ...
    par contre chaque groupbox a son propre evenement qui appelle la meme methode ... estce un probleme ? oui apparemment

  12. #12
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui ça doit être pour ça, je paris qu'en tout il y as 3 GroupBox
    Sinon a quoi servent les groupBox caché, on peut peut être voir le programme légèrement différemment de manière a ce que ce ne produise pas cet effet.

  13. #13
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Apparemment ce ne serai peut être pas ça non plus, j'ai ajouté un GroupBox caché et cela ne me le fait pas non plus

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    j'ai enlevé la superposition et toujours le meme probleme
    jai fais la meme methode mais adapté a un objet Tform et ca marche comme il faut ...

  15. #15
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Tu as essayé dans un projet vierge, de mettre ta méthode et de l'appliquer à un GroupBox avec quelques objets basic, tant que cela fonctionne ajoute des objet, tu tombera surement sur un objet qui provoque le doublement de l'appel

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    Jai supprimer les groupbox en n'en laissant qu'une ....
    devines ? tjs pareil

  17. #17
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Après vérification de ton projet, c'est le OnContextPopup de la Form qui provoque ce triplement, c'est lui que tu doit virer pour ne pas avoir trois fois la TFontDialog

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    Dac' ... mais pourquoi?

  19. #19
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Parce que lorsque tu fait un clique droit n'importe ou sur la form, y compris sur ces objets enfant, le OnContextPopup se déclenche, si tu veut gardé l'appelle de la fenêtre sur un clique droit de la form (et seulement la form en dehors du groupBox) il faut que tu remplace tout tes OnContectPopup par des OnMouseUp (avec le if sur le bouton)

Discussions similaires

  1. demande d'aide pour un probleme d'installation
    Par tchimou dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/09/2007, 14h13
  2. Demande d'aide pour un problème de code source sur devC++
    Par Rickantonais dans le forum Débuter
    Réponses: 28
    Dernier message: 01/08/2007, 14h09
  3. [Conception] un peu d aide suite un probleme sur un formulaire
    Par jojojojo57 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/05/2007, 18h48
  4. [Composant] Dialogue dans une propriété
    Par Raylemon dans le forum Composants VCL
    Réponses: 10
    Dernier message: 03/08/2005, 19h05
  5. Petite aide pour gros problème : libstdc++
    Par Info-Rital dans le forum Linux
    Réponses: 5
    Dernier message: 30/08/2004, 19h17

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