Bonjour
je souhaite changer la propriété des composants TShape de la fenetre grace a une boucle est ce possible ?
exemple:
ShapeBP1
ShapeBP2
seul le dernier chiffre change j'ai 21 composants à changer de couleur.
Merci
Bonjour
je souhaite changer la propriété des composants TShape de la fenetre grace a une boucle est ce possible ?
exemple:
ShapeBP1
ShapeBP2
seul le dernier chiffre change j'ai 21 composants à changer de couleur.
Merci
Salut,
Voici un lien qui décrit comment changer plusieur composant dans une boucle :http://chgi.developpez.com/tips1/#tips15
Site : http://chgi.developpez.com
Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)
j'ai un problème car il ne rentre jamais dans la boucle if pourtant il y a des composant de type TShape dans la fiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void __fastcall TForm1::Button1Click(TObject *Sender) { for ( int x=0 ; x<ControlCount ; x++) if ((AnsiString)Controls[x]->ClassName() == "TShape" ) ((TShape*)Controls[x])->Brush->Color = clRed; }
Salut, est-ce que les TShape sont directement sur ta Form ou il sont dans un TPanel ou autre container?
Oui effectivement les TShape se trouve dans un TGroupBox
As tu une solution au problème ?
Merci
Si tes TShape sont toujours dans un TPanel tu peux utiliser ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 for ( int n=0 ; n<ControlCount ; n++) { if (Controls[n]->ClassName() == "TPanel" ) { for ( int x=0 ; x<dynamic_cast<TPanel *>(Controls[n])->ControlCount ; x++) { if ((AnsiString)Controls[x]->ClassName() == "TShape" ) ((TShape*)Controls[x])->Brush->Color = clRed; } } }
Partager