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 :

Créer une boite de dialogue ou pas?


Sujet :

C++Builder

  1. #1
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Points : 141
    Points
    141
    Par défaut Créer une boite de dialogue ou pas?
    salut à tous !

    J'ai sur mon programme une Form que j'ai appelé " Modifier les infos ".

    Sur laquelle je vais chercher une référence dans ma base de données.
    Pour chercher cette référence, j'ai créé un "bitbutton" qui est censé ouvrir une petite fenêtre qui automatiquement m'affiche toutes les infos d'un champ d'une table avec un DBGrid.

    Donc quand je double clic sur une cellule, cela doit fermer la fenetre et mettre automatiquement la valeur sélectionnée dans un TEdit de ma Form " Modifier les infos ".

    Le probleme étant qu'actuellement j'instancie ma form qui m'affiche les infos de ma table depuis la form parente.
    Mais je ne peux récupérer les infos, alors je me posais la question s'il ne fallait pas faire une boite de dialogue ou autre afin de récupérer facilement les infos entre les form.

    Je sais pas si je suis clair, mais d'apres vous, quelle serait la meilleure facon pour moi d'opérer..?

    merci par avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    utilise le presse papier

  3. #3
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Points : 141
    Points
    141
    Par défaut
    bah..le presse papier ..sans façon, le but de la manoeuvre étant que l'utilisateur ne fasse rien d'autre qu'un double clic.

    Mais je ne sais pas si l'on peut créer une boite de dialogue et y mettre tous les composants qu'on veut?

  4. #4
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Je ne comprend pourquoi tu n'es pas capable de récupérer les informations de ta seconde Form?

    Tu pourrais mettre sur le forum le code où la fenêtre enfant est ouverte?
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  5. #5
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Points : 141
    Points
    141
    Par défaut
    Je me suis trompé dans le code je le sais bien, mais bon voici quand même:

    Lors de l'appuie sur le bouton ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void __fastcall TFormModifJeux::SpeedButton_Modif_ListBddClick(
          TObject *Sender)
    {
     
            ObjFormRefJeux->Visible = true;
     
            Edit_ModifRefJeux->Text = ObjAdministration->GetString(); // je récupère dans une classe de gestion la valeur de la cellule sélectionnée
     
     
    }

    et quand la Form RefJeux s'ouvre ca donne ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void __fastcall TFormRefJeux::FormShow(TObject *Sender)
    {
            int NbreRefJeux = 0;
     
            DataSource1->Enabled = true;
     
    }
    J'ai un Datasource, car j'utilise le DBGrid.
    Donc lors de la sélection d'une cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void __fastcall TFormRefJeux::DBGridDblClick(TObject *Sender)
    {
            String Buffer;
     
            Buffer = DBGrid->SelectedField->Text;
            ObjAdministration->SetString(Buffer);  // On envoie à la classe de gestion la valeur de la cellule sélectionnée
            this->Visible = false;  //Fermeture de la Form
     
     
    }

    Donc comme j'ai très mal codé, en tte logique une fois que je clique sur le bouton de RefJeux, il m'affiche une valeur Null dans mon Edit_ModifRefJeux, ce qui fait que ca ne m'affiche la valeur que si je ré appuie sur ce bouton.
    La est donc le soucis.

    Alors j'avais pensé à faire une boite de dialogue pour éviter de faire une usine à gaz.

  6. #6
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Points : 141
    Points
    141
    Par défaut
    Bon eh bien je suis vraiment trop bête et j'ai demandé de l'aide trop vite lol

    Je n'ai pas utilisé l'option " ShowModal " sur mes Form, ce qui me simplifie la tache.

    J'espère que d'autres ne feront pas la même erreur que moi ^^

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

Discussions similaires

  1. Créer une boite de dialogue
    Par hacamzig dans le forum SAS AF et formulaires
    Réponses: 0
    Dernier message: 08/02/2010, 10h23
  2. Réponses: 6
    Dernier message: 29/01/2008, 18h47
  3. Comment créer une boite de dialogue d'options comme Delphi?
    Par Patrick25300 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/01/2008, 17h56
  4. Réponses: 2
    Dernier message: 06/10/2006, 14h31
  5. Réponses: 4
    Dernier message: 26/01/2006, 16h13

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