Witam.
W delphi kiedy miałem komponent (dziedziczył po panelu) i miał w sobie panel kiedy chcę go narysować kilka razy (PaintTo..) to nie ma najmniejszego problemu.
W lazarusie kiedy mam podobny komponent i chcę żeby rysował w sobie kilka razy ten panel (rysuję bitmapę ponieważ lazarus nie ma PaintTo..) komponent cały czas się odświeża. W lazarusie nie ma tego błędu co w delphi. i za każdym razem kiedy coś dorysuję do komponentu w funkcji Paint on odświeża panel który ma w sobie przez co widać jak panel w komponencie miga. Jak można rozwiązać taki problem? (w poprawnie działającym Paint w lazarus - w delphi można było wykorzystać błąd... Undecided)

procedure TList.Paint();
var
  x, y, i: integer;
begin
  inherited;
  if assigned(FElement) then
   begin
    felement.Color:=clblue;
    FElement.Paint;
    felement.Canvas.Clear;
    for i:=1 to 3 do
    for x:=1 to felement.Width-1 do
     for y:=1 to felement.Height-1 do
      canvas.Pixels[x, (i*felement.Height)+y]:=felement.Canvas.Pixels[x, y];
   end;
  felement.Color:=clred;
  FElement.Paint;
  felement.Canvas.Clear;
end;

Kiedy komponent się rysuje to wychodzą:
-czerwony panel
-3 niebieskie
czyli tak jak powinno być

ale ten czerwony się rysuje kilka razy. i jak się odświerza na formatce to "mruga". Nie wiem jak to rozwiązać. CZy można jakoś zablokować rysowanie Panelu (felement)??

// ktoś rozumie w jakim języku (nie mówie o języku programowania) jest napisany ten post? - Q