1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| uses
TypInfo;
procedure SetComponentsColor(pComponent: TComponent; pColor: TColor);
var
i: integer;
begin
for i := 0 to pComponent.ComponentCount - 1 do
begin
if (GetPropInfo(pComponent.components[i].ClassInfo, 'color') <> nil)
// eventuellement, autres controles pour ne modifier que les composants qui nous intéressent, exemples :
and (pComponent.components[i].Tag = 1)
and (pComponent.components[i] is TCustomEdit)
and sameText(copy(pComponent.components[i].name, 1, 8), 'montedit')
and ...
then
begin
setPropValue(pComponent.components[i], 'color', pColor);
end; // if
// appel récursif pour traiter les composants détenus par le composant courant :
SetComponentsColor(pComponent.components[i], pColor);
end; // for
end; |