évènements sur plusieurs boutons crées dynamiquement
bonjour (soir) à toutes et à tous
dans mon application j'ai du créer 144 boutons (d'où le dynamique...:D)
jusque là pas de problème
ce que je voudrais faire c'est de mettre un évènement commun à tous ces boutons crées dynamiquement
j'ai donc essayé quelque chose comme ça
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// création dynamique des boutons
for (int i = 1; i <= nbreCasesHauteur; i++)
{
for (int j = 1; j <= nbreCasesLargeur; j++)
{
// création du bouton
TButton *bu_bouton;
// la fenêtre est propriétaire du nouveau bouton
bu_bouton = new TButton(this);
// et c'est dans Form1 qu'il doit s'afficher
bu_bouton->Parent = Form1;
// ensuite on définit les autres propriétés
bu_bouton->Width = buWidth;
bu_bouton->Height = buHeight;
bu_bouton->Caption = "";
bu_bouton->Left = x;
bu_bouton->Top = y;
x += buWidth + 8;
bu_bouton->OnClick = "TForm1::bu_boutonClick";
}
y += buHeight + 8;
x = 8;
} |
c'est donc à la ligne
Citation:
bu_bouton->OnClick = "TForm1::bu_boutonClick";
que ça plante :cry:
que je voudrais mettre l'évènement sur le OnClick du bouton créé
est-ce que quelqun peut m'aider??
bonne soirée
Creation dynamique d'objet a l'infinie
Comment créer un pointeur d'objet ou une liste chainée d'objet !
qu'on peut augmenter et diminuer ( push/pop ).
le but de mon projet est d'afficher dynamiquement des images venant
d'un disque distant.
je ne connais pas le nombre d'images en avance mais le réel problème est que les images peuvent augmenter pendant l'exécution du programme.
Je voudrais éviter que mon programme reffasse toute la boucle
juste pour afficher 1 images qui vient d'être détecté.
la classe Edit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
class Cases : public TEdit
{
private:
public:
Cases(TForm*o):TEdit(o)
{
this->Parent = o;
this->Top = 120;
this->Left = 20;
this->Width = 100;
this->Height = 30;
}
__fastcall Cases();
DYNAMIC void __fastcall Click();
}; |
Code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
// on introduit le nombre de Edit que l'on veut dans la variable "valeur"
// mais comme le tableau d'objet est déclaré à 50, donc on est limité
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int valeur = 50;
Cases *tab[valeur];
for(int j=0; j<valeur; j++)
{
tab[j]= new Cases(Form1);
tab[j]->Top = ( 105 + (tab[j]->Height * j) );
tab[j]->Text = " BOUTON N° ";
tab[j]->Text = tab[j]->Text + j;
}
} |
comment remédier a ce problème !.
Merci