*Dezent Antworte*
Moin!
Dein Code hat auch einen kleinen Bug
Du hast
LogBrush.lbStyle nicht initialisiert, deshalb streikt der Aufruf von
ExtCreatePen
Entweder Du nullst die Strukturen komplett:
ZeroMemory(@LogBrush, SizeOf(LogBrush));
Oder weist allem einem Wert zu:
Delphi-Quellcode:
LogBrush.lbStyle:=0;
LogBrush.lbColor:=ColorToRGB(Canvas.Pen.Color);
LogBrush.lbHatch:=0;
Dies hat geeckt:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var LogBrush:TLOGBRUSH;
begin
ZeroMemory(@LogBrush, SizeOf(LogBrush));
LogBrush.lbColor:=ColorToRGB(Canvas.Pen.Color);
LogBrush.lbHatch:=0;
DeleteObject(Canvas.Pen.Handle);
Canvas.Pen.Handle:=ExtCreatePen(PS_Geometric or PS_Solid or PS_EndCap_Square or PS_Join_Miter, 10, LogBrush, 0, nil);
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.MoveTo(0, 0);
Canvas.LineTo(50, 50);
end;
Grüße, Sunlight7