Moin, moin,
ich habe auf meinem Formular ein TImage, bei dem die Eigenschaft Align auf alClient gesetzt ist. Anhand eines Buttons zeichne ich die Fläche neu:
Delphi-Quellcode:
Img.Canvas.Brush.Color:=clWHITE;
Img.Canvas.FillRect(Rect(0,0,Img.Width,Img.Height));
Img.Canvas.Rectangle(0,0,Img.Width,Img.Height);
Wenn ich jetzt das Formular maximiere und die Funktion zum Neuzeichnen aufrufe, dann bekomme ich das Bild nur in der alten Größe mit dem Unterschied, dass die untere und die rechte Linie vom Rechteck fehlen. Beim Debuggen habe ich dann festgestellt, dass Img.Width und Img.Height die zur neuen Formulargröße passenden Werte haben (also verändert sind), dass Img.Canvas.ClipRect jedoch noch den alten Wert hat, weshalb ausserhalb dieses Bereichs nicht gezeichnet wird. Leider ist ClipRect read-only ...
Kann mir jemand sagen, wie ich es hinbekomme, dass bei Größenänderungen des Parentformulars nicht nur die Eigenschaft Width und Height vom Image geändert werden, sondern auch das ClipRect angepasst wird?
Gruss aus Bremen
easywk