Einzelnen Beitrag anzeigen

Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#3

Re: TCanvas.Pen und die abgerundeten Ecken

  Alt 28. Mai 2007, 03:47
*Dezent Antworte*

Moin!

Dein Code hat auch einen kleinen Bug

Du hast LogBrush.lbStyle nicht initialisiert, deshalb streikt der Aufruf von Delphi-Referenz durchsuchenExtCreatePen

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
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat