salut les amis
comment parcourir toutes les forms et tous les objets et tester si un objet est un label ou speedbutton,car je veux appliquer la propriété Glyph aux sppedbuttons et la propriété caption aux labels.
et merci encore
salut les amis
comment parcourir toutes les forms et tous les objets et tester si un objet est un label ou speedbutton,car je veux appliquer la propriété Glyph aux sppedbuttons et la propriété caption aux labels.
et merci encore
Bonjour,
Commence par voir ceci
Bonne lecture. :])
salut,
tu as par quoi commencer ici![]()
salutEnvoyé par kmaniche
j'ai fait ça:
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (Controls[j]->Name == section)//je vérifie si le controle trouvé est celui que je désire { if(this->Components[j]->ClassNameIs("TSpeedButton")) { (this->Components[j])->Glyph->LoadFromFile(Valeur); } else { (this->Components[j])->Caption=Valeur; } }
mais j'ai cette erreur:
'Glyph' is not a member of 'Tcomponent'
merci pour votre aide
Tu peux lister tous les composants d'une TForm en utilisant Components[i] avec i qui varie de 0 à ComponentCount.
exemple:
Attention, si tu as des composants dans un TPanel, il faudra faire la même chose dans le TPanel car les composants qui sont à l'interrieur sont aussi listés dans Panel->Components[i]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for (i=0;i<MyForm->ComponentCount;i++) { if ( ((String)MyForm->Components[i]->ClassName())=="TLabel") alors faire..... }
Franck
Envoyé par franckcl
salut
c'est à cette ligne de mon code que j'ai l'erreur:
this->Components[j])->Glyph->LoadFromFile(Valeur);
merci
Biensûr,
voici la solution (j'ai pas eu le temps de tester) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for(int i = 0 ; i < Form1 -> ComponentCount ; i++) if(Form1 -> Components[i] -> ClassNameIs("TSpeedButton")) { ((TSpeedButton*)Form1 -> Components[i] -> Name) -> Glyph->LoadFromFile("chemin"); }
Voici un exemple que j'utilise pour un composant ListItems.
Tu peux remplacer Comp par Components[i] si "i" concerne le composant dont tu veux acceder à la propriété Glyph.
Nomprop est une chaine de caractère qui contient le nom de composant. (=Champ Name)
franck
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 TListItems *TS; int i; PPropInfo PI; PI=GetPropInfo((PTypeInfo)Comp->ClassInfo() , Nomprop); if (PI!=NULL) { TS = (TListItems*)(GetOrdProp(Comp, PI)); // on peut utiliser TS comme un composant normal ShowMessage(TS->Name); }
Partager