Bonsoir à tous !!
j'ai un piti souci avec des composants dynamiques (TCustomPanel + autres composants) que je stockent dans un tableau.
Le probleme se situe lors de suppression avec remonté des éléments. Le rafraichissement ne se fait pas.
Je met un bout de code simplifé ou je permutte deux elements.
Code :
type
TMonP = class(TCustomPanel)
private
{ Déclarations privées }
public
constructor create(AOwner : TComponent;y :integer);
{ Déclarations publiques }
end;
var
Form1: TForm1;
TabP : array[0..10] of TMonP;
implementation
{$R *.dfm}
constructor TMonP.create(AOwner : TComponent;y: integer);
begin
inherited Create(AOWner);
parent := Form1;
BorderWidth := 0;
Left := 0;
Top := y;
Width := 100;
Height := 100;
Caption := inttostr(y);
Enabled := true;
//FullRepaint := true;
Visible := true;
end;
procedure TForm1.CreerClick(Sender: TObject);
var
TempTMonP : TMonP;
begin
TabP[0] := nil;
TabP[1] := nil;
TabP[0] := TMonP.create(self,100);
TabP[1] := TMonP.create(self,250);
end;
procedure TForm1.EchangerClick(Sender: TObject);
var
TempTMonP : TMonP;
begin
TempTMonP := TabP[0];
TabP[0] := TabP[1];
//TabP[0] := Tab[1].Caption;
TabP[1] := TempTMonP;
//TabP[1] := TempMonP.Caption;
end;
J'ai fait de nombreux essais en déclarant la procedure Repaint, Refresh....
Si je supprime le commentaire alors cela fonctionne. Dans mon cas le pannel contient de nombreux object, c est un peu contraignant....
Help !
Merci