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 :

Comment assigner le contenu d'un "Edit" à un onglet d'un "TabControl" ?


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut Comment assigner le contenu d'un "Edit" à un onglet d'un "TabControl" ?
    Bonjour,

    sur ma Form, j'ai un composant TabControl et à coté de celui-ci j'ai un composant Edit.
    Je souhaiterai que le contenu du Edit change en fonction de l'onglet que j'ai sélectionné.

    Comment dois je m'y prendre ?
    Je n'arrive pas à trouver la propriété ou la méthode à utiliser pour faire ceci !!!
    Y aurait il quelqu'un pour m'aider ?

    Merci d'avance et à bientôt !

  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
    Salut,
    il me semble qu'il faut que tu sauvegarde, dans un tableau ou un vecteur par exemple, la valeur du Edit pour chaque onglet.
    Ensuite, tu as un évènement OnChange qui se produit à chaque fois que tu change d'onglet, dans cette évènement, il suffit de sauvegarder la valeur de l'onglet courant, pour de lui attribuer la valeur du nouvel onglet sélectionné

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    Salut Pottiez , t es du coin aussi

    Sinon effectivement le onChange , le onEnter ( pour initialiser ) et la valeur TabIndex

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
     TabControl1->Tabs->Add("premier");
     TabControl1->Tabs->Add("deuxieme");
     TabControl1->Tabs->Add("troisieme");
     Memo1->Clear();
     Edit1->Clear();
     }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::TabControl1Change(TObject *Sender)
    {
    if (TabControl1->TabIndex==0){Memo1->Text="Premier";Edit1->Text="Premier";} ;
    if (TabControl1->TabIndex==1){Memo1->Text="Deuxieme";Edit1->Text="Deuxieme";} ;
    if (TabControl1->TabIndex==2){Memo1->Text="Troisieme";Edit1->Text="Troisieme";} ;
     
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::TabControl1Enter(TObject *Sender)
    {
       Memo1->Text="Premier";
    }
    //---------------------------------------------------------------------------

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    Merci !

    Mais quand est il si l'utilisateur écrit du texte dans l'edit à l'onglet 1, écrit un texte différent dans l'edit à l'onglet 2, et revient à l'onglet 1 pour retrouver le texte qu'il avait écrit ?

    J'arrive bien à avoir un texte différent dans l'edit quand je change d'onglet mais quand je reviens sur l'onglet précédent, ça ne garde pas en mémoire ce que j'avais écrit !!!

  5. #5
    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
    D'ou le fait de mettre dans un tableau, par exemple tu as 3 onglets, tu fait un tableau de dimension 3 et tu enregistre la valeur lorsque c'est l'onglet 0 à l'index 0 du tableau, lorsque c'est l'onglet tu enregistre à l'index 1, ....
    Comme ca tu as tes valeurs pour tout les onglets.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    OK, ca fonctionne pour le moment !

    j'ai fait comme ceci :

    - dans mon .h, j'ai déclaré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AnsiString Tableau[10];
    - dans le OnChange du TabControl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm1::TabControl1Change(TObject *Sender)
    {
     
    		Edit2->Text = Tableau[TabControl1->TabIndex];
     
    }
    - dans le OnChange de l'edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm1::Edit2Change(TObject *Sender)
    {
     
    	Tableau[TabControl1->TabIndex] = Edit2->Text;
     
    }
    Par contre, si j'ai plusieurs Edit dans mes onglets, il va falloir plusieurs Tableau aussi ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/05/2010, 03h36
  2. comment affecter le contenu d'un Edit vers DBGrid
    Par nn2009 dans le forum Débuter
    Réponses: 7
    Dernier message: 06/01/2010, 11h33
  3. Réponses: 6
    Dernier message: 06/05/2009, 17h45
  4. Comment copier le contenu d'un Edit dans un autre Edit ?
    Par petitclem dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/04/2009, 16h12
  5. [VB.Net]Comment assigner contenu variable> nom variable ?
    Par jazz matazz dans le forum VB.NET
    Réponses: 4
    Dernier message: 03/02/2006, 17h28

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