Partilhar via


CPen::CPen

Constrói um CPen objeto.

CPen( );
CPen(
   int nPenStyle,
   int nWidth,
   COLORREF crColor 
);
CPen(
   int nPenStyle,
   int nWidth,
   const LOGBRUSH* pLogBrush,
   int nStyleCount = 0,
   const DWORD* lpStyle = NULL 
);

Parâmetros

  • nPenStyle
    Especifica o estilo de caneta.Esse parâmetro na primeira versão do construtor pode ser um dos seguintes valores:

    • PS_SOLID   Cria uma caneta sólida.

    • PS_DASH   Cria uma caneta tracejada.Válido somente quando a largura da caneta é unidades de 1 ou menos, no dispositivo.

    • PS_DOT   Cria uma caneta pontilhada.Válido somente quando a largura da caneta é unidades de 1 ou menos, no dispositivo.

    • PS_DASHDOT   Cria uma caneta com traços e pontos alternados.Válido somente quando a largura da caneta é unidades de 1 ou menos, no dispositivo.

    • PS_DASHDOTDOT   Cria uma caneta com traços e pontos duplos alternados.Válido somente quando a largura da caneta é unidades de 1 ou menos, no dispositivo.

    • PS_NULL   Cria uma caneta nula.

    • PS_INSIDEFRAME   Cria uma caneta que desenha uma linha dentro do quadro de formas fechadas gerados por funções de saída a GDI do Windows que especificam um retângulo delimitador (por exemplo, a Elipse, Retângulo, RoundRect, Pie, e Chord funções de membro). Quando esse estilo é usado com funções de saída de GDI do Windows que não especificam um retângulo delimitador (por exemplo, a LineTo função de membro), a área de desenho da caneta não é limitada por um quadro.

    A segunda versão do CPen construtor Especifica uma combinação de tipo, estilo, arremate participante e atributos de unir. Os valores de cada categoria devem ser combinados, usando o operador OR bit a bit (|).O tipo de caneta pode ser um dos seguintes valores:

    • PS_GEOMETRIC   Cria uma caneta geométrica.

    • PS_COSMETIC   Cria uma caneta superficial.

      A segunda versão do CPen construtor adiciona os seguintes estilos de caneta para nPenStyle:

    • PS_ALTERNATE   Cria uma caneta que define cada pixel Outros.(Este estilo é aplicável somente para canetas decorativas.)

    • PS_USERSTYLE   Cria uma caneta que usa uma matriz de estilização fornecida pelo usuário.

      Arremate participante pode ser um dos seguintes valores:

    • PS_participanteCAP_ROUND participante maiúsculas são arredondadas.

    • PS_participanteCAP_SQUARE participante maiúsculas são quadradas.

    • PS_ENDCAP_FLAT   Tampas de extremidade são simples.

      A unir pode ser um dos seguintes valores:

    • PS_JOIN_BEVEL   Associações são chanfradas.

    • PS_JOIN_MITER   Associações são mitered quando elas estiverem dentro do limite corrente conjunto pelo conjunto MiterLimit função.Se a unir exceder esse limite, é chanfrado.

    • PS_JOIN_ROUND   Associações são arredondadas.

  • nWidth
    Especifica a largura da caneta.

    • Para a primeira versão do construtor, se esse valor for 0, a largura em unidades de dispositivo é sempre 1 pixel, independentemente do modo de mapeamento.

    • Para a segunda versão do construtor, se nPenStyle é PS_GEOMETRIC, a largura é expresso em unidades lógicas.If nPenStyle é PS_COSMETIC, a largura deve ser conjunto como 1.

  • crColor
    Contém uma cor RGB para a caneta.

  • pLogBrush
    Aponta para um LOGBRUSH estrutura. If nPenStyle é PS_COSMETIC, the lbColor membro de LOGBRUSH estrutura Especifica a cor da caneta e o lbStyle membro de LOGBRUSH estrutura deve ser definida como BS_SOLID.If nPenStyle é PS_GEOMETRIC, todos os membros devem ser usados para especificar os atributos de pincel da caneta.

  • nStyleCount
    Especifica o comprimento, em unidades doubleword, do lpStyle matriz. Este valor deve ser zero se nPenStyle não é PS_USERSTYLE.

  • lpStyle
    Aponta para uma matriz de valores doubleword.O primeiro valor Especifica o comprimento do tracejado primeiro em um estilo definido pelo usuário, o segundo valor Especifica o comprimento do primeiro espaço e assim por diante.Esse ponteiro deve ser NULO if nPenStyle não é PS_USERSTYLE.

Comentários

Se você usar o construtor sem argumentos, você deve inicializar o resultante CPen objeto com o CreatePen, CreatePenIndirect, ou CreateStockObject funções de membro.

Se você usar o construtor que leva argumentos, sem inicialização adicional será necessária.O construtor sem argumentos pode lançar uma exceção se erros são encontrados, enquanto o construtor sem argumentos sempre será bem-sucedida.

Exemplo

// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));

// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CPen

Gráfico de hierarquia

CPen::CreatePen

CPen::CreatePenIndirect

CGdiObject::CreateStockObject

Outros recursos

CPen membros