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 :

Copier un GroupBox et son contenu


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    En recherche d'emploi sur la région de Toulouse
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En recherche d'emploi sur la région de Toulouse
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Billets dans le blog
    1
    Par défaut Copier un GroupBox et son contenu
    Bonjour,
    J'aimerais savoir s'il est possible de "copier" un GroupBox et son contenu (images) X fois en incrementant biensur.
    Merci pour d'avance....

  2. #2
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    dupliquer ta forme ?

    ca devrais être possible , avec des fenêtres mère , fille.
    il y un exemple dans builder ( dossier example ou new application )
    , exemple qui crée dynamiquement une forme avec un TMemo.

    mais moi j'utiliserai une classe dans la quelle je mettrais tout les objets "composants" que j'afficherai dynamiquement.

    tu dois utiliser je suppose les même méthode pour chaque fenêtre !

    Ca dépend de ce que tu veux faire ?

  3. #3
    Membre confirmé

    Homme Profil pro
    En recherche d'emploi sur la région de Toulouse
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En recherche d'emploi sur la région de Toulouse
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Billets dans le blog
    1
    Par défaut
    Je n'ai pas réussi a faire une copie (j'ai pas trouvé ton exemple Bily.sdi) de mon GroupBox avec ce qu'il contient, mais j'ai essayé ça:
    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
    try
    {
    NbRack = StrToInt(Edit2->Text);
    }
    catch(EConvertError &Exception)
    {
    ShowMessage("Veuillez entrer un entier relatif correct");
    }
     
    //NbRack=StrToInt(this->Edit2->Text);
    for (i = 0; i < NbRack+1; i++)
    {
    TGroupBox  *X_RackIO;
    X_RackIO = new TGroupBox(this);
    X_RackIO->Parent=this;
    X_RackIO->Caption= "Rack I/O "+AnsiString(i+2);
    X_RackIO->Top=this->GroupBox2->Top + this->GroupBox2->Height + (i*this->GroupBox2->Height);
    X_RackIO->Left=8;
    X_RackIO->Height=137;
    X_RackIO->Width=1037;
     
    TImage *X_ImageFond;
    X_ImageFond = new TImage(this);
    X_ImageFond->Parent=this->X_RackIO;
    X_ImageFond->Align=alClient;
    X_ImageFond->Picture->LoadFromFile("f:\\Rack IO vide.jpg");
    X_ImageFond->Visible=true;
    }
    le problème c'est que je ne sais pas comment s'appéle le GroupBox qui vient d'^tre créer pour lui insérer l'image, donc résultat les GroupBox se créent correctement mais il ne contiennent pas d'image...
    si quelqu'un a une solution ...

    Ah aussi dans mon code au premier passage j'ai une erreur (voir fichier joint) je comprends pas pourquoi ?
    Images attachées Images attachées  

  4. #4
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    tu dois créer une classe et initialiser un tableau d'objet de cette classe

    , plus besoin de connaitre les noms de tes form , tu devra utiliser le nom

    this-> .....

    exemple
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    
    class Case: public TButton // hérite de la classe Button
    {
    
     private:
     
     public:
    
     
    Case(TForm*o):TButton(o)
     {
      this->Parent = o;      // s'affiche sur ta form ( TForm*o)
      this->Top = 120;
      this->Left = 20;
      this->Width = 100;
      this->Height = 30;
     }
     __fastcall Case();
    
     DYNAMIC void __fastcall Click();   // méthode dynamique
     
    };
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
       Case*tab[5];   // creation du tableau d'objet de la classe Case
     
       for(int j=0; j<5; j++)
       {
     
         tab[j]= new objet (Form1);
     
         tab[j]->Top = ( 105 + (tab[j]->Height  * j) );
     
         tab[j]->Caption = " BOUTON N° ";
     
         tab[j]->Caption = tab[j]->Caption + j;
     
       }
    }
    
    // ceci te créera 5 bouton sur ta forme
    
    // mais comment savoir sur lequel on clique ???? garce a : THIS->
    // garce a la methode dynamique ( voir plus haut )
    
    // exemple de la méthode Click
    
    void __fastcall Case::Click()
    {
       // place un Edit sur ta form
    
       Form1->Edit1->Text = this->Caption ;
    
     // this-> : est l'objet appelant ; objet sur lequel un évènement c produit
    
    }
    mon, exemple devrait t'apporter des idées


  5. #5
    Membre confirmé

    Homme Profil pro
    En recherche d'emploi sur la région de Toulouse
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En recherche d'emploi sur la région de Toulouse
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Billets dans le blog
    1
    Par défaut
    Effectivement j'ai essayer ton code ça marche avec des boutons.
    J'ai voulu créer sur cette base mon code pour créer des GroupBox pour commencer avec ce code :
    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
     class X_RackIO: public TGroupBox // hérite de la classe GroupBox
    {
     private:
     
     public:
     
    X_RackIO(TForm*o):TGroupBox(o)
     {
      this->Parent = o;      // s'affiche sur ta form ( TForm*o)
      this->Top = 263 + 137;//  + (i*137);//120;
      this->Left = 8;
      this->Width = 1037;
      this->Height = 137;
     }
     __fastcall X_RackIO();
     
     DYNAMIC void __fastcall Click();   // méthode dynamique
     
    };
     
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
     
       X_RackIO *tab[5];   // creation du tableau d'objet de la classe X_RackIO
       for(int j=0; j<5; j++)
       {
     
    	 tab[j]= new X_RackIO (Form1);
     
    	 tab[j]->Top = ( 105 + (tab[j]->Height  * j) );
     
    	 tab[j]->Caption = "Rack I/O "+AnsiString(j+2);;
     
    	 //tab[j]->Caption = tab[j]->Caption + j;
     
       }
    }
    mais au niveau de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    X_RackIO *tab[5];   // creation du tableau d'objet de la classe X_RackIO 
    et 
    tab[j]= new X_RackIO (Form1);
    j'ai ces erreurs
    [BCC32 Erreur] ProgTestJMB.cpp(1109): E2451 Symbole 'tab' non défini
    [BCC32 Erreur] ProgTestJMB.cpp(1114): E2303 Nom de type attendu
    [BCC32 Erreur] ProgTestJMB.cpp(1114): E2379 ; manquant dans l'instruction
    serais tu pourquoi ?

  6. #6
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    tu as du faire une erreur de syntaxe quelque pars !!

    je viens de poster un exemple complet pour des listes.

    http://www.developpez.net/forums/sho...d.php?t=560434

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

Discussions similaires

  1. Copier un répertoire et son contenu
    Par Rakken dans le forum Débuter
    Réponses: 4
    Dernier message: 29/04/2010, 13h24
  2. Fonction pour copier un dossier et son contenu
    Par wassimbik dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2009, 11h28
  3. Importer ou copier un noeud et son contenu d'un Document à un autre
    Par ecor6633 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/02/2008, 10h48
  4. Réponses: 1
    Dernier message: 27/07/2006, 00h15
  5. Comment copier un répertoire et son contenu ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 20/06/2004, 17h40

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