Compartilhar via


Método Pen::SetCompoundArray (gdipluspen.h)

O método Pen::SetCompoundArray define a matriz composta para esse objeto Pen .

Sintaxe

Status SetCompoundArray(
  [in] const REAL *compoundArray,
  [in] INT        count
);

Parâmetros

[in] compoundArray

Tipo: const REAL*

Ponteiro para uma matriz de números reais que especifica a matriz composta. Os elementos na matriz devem estar em ordem crescente, não serem menor que 0 nem maiores que 1.

[in] count

Tipo: INT

Inteiro par positivo que especifica o número de elementos na matriz compoundArray . O inteiro não deve ser maior que o número de elementos na matriz composta.

Valor retornado

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

Suponha que você queira que uma caneta desenhe duas linhas paralelas em que a largura da primeira linha é de 20% da largura da caneta, a largura do espaço que separa as duas linhas é 50% da largura da caneta e a largura da segunda linha é 30% da largura da caneta. Comece criando um objeto Pen e uma matriz de números reais. Em seguida, você pode definir a matriz composta passando a matriz com os valores 0.0, 0.2, 0.7 e 1.0 para o método Pen::SetCompoundArray do objeto Pen .

Se você definir o alinhamento de um objeto Pen como PenAlignmentInset, não poderá usar essa caneta para desenhar linhas compostas.

Exemplos

O exemplo a seguir cria um objeto Pen e define a matriz composta para a caneta. Em seguida, o código desenha uma linha usando o objeto Pen .

VOID Example_SetCompoundArray(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an array of real numbers and a Pen object.
   REAL compVals[6] = {0.0f, 0.2f, 0.5f, 0.7f, 0.9f, 1.0f};
   Pen pen(Color(255, 0, 0, 255), 30);

   // Set the compound array of the pen.
   pen.SetCompoundArray(compVals, 6);

   // Draw a line with the pen.
   graphics.DrawLine(&pen, 5, 20, 405, 200);
}

Requisitos

   
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdipluspen.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Desenhando uma linha tracejada personalizada

Caneta

Pen::GetCompoundArray

Pen::GetCompoundArrayCount

Canetas, linhas e retângulos