You can do this with a simple GDI:
procedure TForm1.FormPaint(Sender: TObject); const pattern: array[0..3] of cardinal = (10, 1, 1, 1); var lb: TLogBrush; pen, oldpen: HPEN; begin lb.lbStyle := BS_SOLID; lb.lbColor := RGB(255, 0, 0); pen := ExtCreatePen(PS_COSMETIC or PS_USERSTYLE, 1, lb, length(pattern), @pattern); if pen <> 0 then try oldpen := SelectObject(Canvas.Handle, pen); Canvas.MoveTo(0, 0); Canvas.LineTo(ClientWidth, ClientHeight); SelectObject(Canvas.Handle, oldpen); finally DeleteObject(pen); end; end;
source share