Szenario: Paintbox Align: Client, TreeView Align: Left.
Paintbox Onpaint:
Code: Alles auswählen
var
C: TPoint;
begin
C:=Point(PaintBox1.Width div 2, PaintBox1.Height div 2);
PaintBox1.Canvas.Brush.Color:=clGreen;
PaintBox1.Canvas.Brush.Style:=bsSolid;
PaintBox1.Canvas.pen.Style:=psClear;
PaintBox1.Canvas.Polygon([Point(C.x-50, c.y-50),Point(C.x+50, c.y-50),Point(C.x+50, c.y+50),Point(C.x-50, c.y+50)]);
PaintBox1.Canvas.pen.Color:=clred;
PaintBox1.Canvas.Brush.Style:=bsClear;
PaintBox1.Canvas.pen.Style:=psSolid;
PaintBox1.Canvas.Rectangle(C.x-50, C.y-50, c.x+50, C.y+50);
Ergebnis:
Unter windows überlappen die beiden perfekt (wie ich es auch erwarten würde).
Daher die Frage, Bug oder Feature
PS: Lazarus 1.8.4 OpenSuse Tumbleweed