Desenhando uma linha tracejada personalizada

Windows GDI+ fornece vários estilos de traço listados na enumeração DashStyle. Se esses estilos de traço padrão não atenderem às suas necessidades, você poderá criar um padrão de traço personalizado.

Para desenhar uma linha tracejada personalizada, coloque os comprimentos dos traços e espaços em uma matriz e passe o endereço da matriz como um argumento para o método Pen::SetDashPattern de um objeto Pen . O exemplo a seguir desenha uma linha tracejada personalizada com base na matriz {5, 2, 15, 4}. Se você multiplicar os elementos da matriz pela largura da caneta de 5, receberá {25, 10, 75, 20}. Os traços exibidos alternam de comprimento entre 25 e 75 e os espaços alternam de comprimento entre 10 e 20.

REAL dashValues[4] = {5, 2, 15, 4};
Pen blackPen(Color(255, 0, 0, 0), 5);
blackPen.SetDashPattern(dashValues, 4);
stat = graphics.DrawLine(&blackPen, Point(5, 5), Point(405, 5));

A ilustração a seguir mostra a linha tracejada resultante. Observe que o traço final deve ser menor do que 25 unidades para que a linha possa terminar em (405, 5).

illustration showing a dashed line; each segment is a short line followed by a long one