Hallo,
Zitat:
[...] Leider funktioniert dieses unter XE3 nicht. Aber unter XE5 geht es. Dann habe ich mir die Trial von XE7 installiert. Auch unter XE7 funktioniert dieses nicht. Der folgende Code funktioniert aber unter XE5 [...]
Kann ich jetzt leider nicht mit all den angegebenen Versionen nachprüfen.
Hast Du es mal so versucht (OnPaint-Event der Circle-Komponente anstatt ButtonClick sonst ist die Linie nach dem nächsten Zeichnen des Forms futsch
)?
Delphi-Quellcode:
procedure TForm1.Circle1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
var
P1, P2 : TPointF;
begin
Canvas.BeginScene;
try
P1.X := ARect.Left;
P1.Y := ARect.Top;
P2.X := ARect.Width;
P2.Y := ARect.Height;
Canvas.Stroke.Color := TAlphaColorRec.Blue;
Canvas.StrokeDash := TStrokeDash.sdSolid;
Canvas.Stroke.Kind:= TBrushKind.bkSolid;
Canvas.StrokeThickness := 1.0;
Canvas.DrawLine (P1, P2, 0.5) // <-- AOpacity <> 0!
finally
Canvas.EndScene
end
end;
Gruß