Du kannst auch eine Region (mit allen Controls darauf) von einem Report auf einen anderen Report verschieben.
Du hast also einen Hauptreport und einen weiteren Hilfsreport, der nur als Container für ein oder mehrere Regionen dient.
Man kann die Regionen zwischen dem Hauptreport verschieben und wieder zurückbewegen.
Delphi-Quellcode:
// verschiebt die übergebene Region an den 1. leeren Platz
// auf dem Zielreport
procedure TForm1.MoveRegion1(const region: TppRegion);
begin
// Region aktivieren
region.Band := ReportMain.DetailBand;
// Position der Region
region.Left := ppLine5.Left;
region.Top := ppLine5.Top;
// richtige Breite der Region
region.Width := ppLine6.Width;
region.Height := ppLine6.Top-ppLine5.Top;
region.Caption := '';
region.Pen.Mode := pmNop; // Rahmen ausschalten
// region.Pen.Color := clRed; // Test
end;
// alle Regionen wieder entfernen (zurück auf den ursprünglichen Report)
procedure TForm1.ResetRegions;
procedure ResetBandOfRegion(region:TppRegion);
begin
region.Band := ReportRegions.DetailBand;
end;
begin
ResetBandOfRegion(Region1);
ResetBandOfRegion(Region2);
ResetBandOfRegion(Region3);
end;