![]() |
ExtCreatePen und ps_USERSTYLE
Hallo zusammen,
ich möchte eine Line zeichnen, bei der sich Quadrate und gleich große Leerräume abwechseln. Leider klappt das nicht - was herauskommt sind dashes und relativ schmale Leerräume. Ich hätte ja zumindest erwartet, dass beide Abschnitte gleich groß sind. Hat jemand eine Idee?
Delphi-Quellcode:
procedure TdlgMain.DrawLine(BM: tBitmap);
var aPattern: Array[0..1] of Integer; lBrush: LogBrush; LineWidth: Word; NewPen: hPen; X: Integer; Y: Integer; begin LineWidth := 40; lbrush.lbStyle := BS_SOLID; lbrush.lbColor := clRed; lbrush.lbHatch := 0; if NewPen <> 0 then begin NewPen := 0; DeleteObject(NewPen); end; aPattern[0] := LineWidth; aPattern[1] := LineWidth; NewPen := ExtCreatePen(PS_GEOMETRIC or PS_USERSTYLE or PS_ENDCAP_SQUARE or PS_JOIN_MITER, LineWidth, lBrush, Length(aPattern), @aPattern); BM.Canvas.Pen.Handle := NewPen; BM.Canvas.MoveTo(100, 0); BM.Canvas.LineTo(100, BM.Height - 1); if NewPen <> 0 then begin NewPen := 0; DeleteObject(NewPen); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz