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....
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....
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 ?
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: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...
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; }
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 ?
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
mon, exemple devrait t'apporter des idées
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 }
![]()
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 :
mais au niveau de cette ligne :
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; } }j'ai ces erreurs
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);serais tu pourquoi ?[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
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
Partager