Optimisation de l'initialisation des composants
Bonjour à tous,
Afin d'uniformiser facilement mes composants et également pour pouvoir modifier rapidement l'apparence ou les propriétés de certains composants, j'appel à l'ouverture de chacunes de mes fiches une procédure d'initialisation:
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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
Procedure ModifStyleFiche(MaForm_ : TForm);
Var
I : Integer;
TempCmpn : TComponent;
Begin
Try
If MaForm_ = Nil Then Exit;
MaForm_.Font.Size:=8;
MaForm_.Color:=clWhite;
For I:=1 To MaForm_.ComponentCount Do
Begin
If MaForm_.Components[I-1] is TAdvGlowButton Then
Begin
TempCmpn:=MaForm_.Components[I-1];
TAdvGlowButton(TempCmpn).SetComponentStyle(tsOffice2013White);
TAdvGlowButton(TempCmpn).Appearance.BorderColor:=clBlack;
TAdvGlowButton(TempCmpn).Appearance.BorderColorChecked:=$00FAFAFA;
TAdvGlowButton(TempCmpn).Appearance.BorderColorDisabled:=clBlack;
TAdvGlowButton(TempCmpn).Appearance.BorderColorDown:=clActiveCaption;
//...
End;
If MaForm_.Components[I-1] is TAdvStringGrid Then
Begin
TempCmpn:=MaForm_.Components[I-1];
TAdvStringGrid(TempCmpn).Ctl3D:=False;
TAdvStringGrid(TempCmpn).FixedColor:=clWhite;
TAdvStringGrid(TempCmpn).FixedFont.Color:=clNavy;
TAdvStringGrid(TempCmpn).FixedFont.Style:=[];
TAdvStringGrid(TempCmpn).ControlLook.FixedGradientFrom:=clWhite;
TAdvStringGrid(TempCmpn).ControlLook.FixedGradientTo:=clWhite;
//...
End;
//...
End;
Except
End;
End; |
Le problème c'est que forcément, sur certaines de mes fiches qui peuvent être assez volumineuse, l'ouverture est ralentie par cette fonction (3-4 secondes dans certains cas). existe-t-il un moyen plus efficace de gérer ce genre de chose?
Pour info, j'appelle cette procédure au moment du formcreate et non du formshow ce qui améliore déjà les performances mais ça n'est pas encore satisfaisant.
Merci d'avance pour vos conseils et vos idées.
LaNono