CRgn::CreatePolygonRgn

BOOL CreatePolygonRgn ( LPPOINT lpPoints, int nCount, int nMode );

Valor de retorno

Diferente de zero se a operação foi bem-sucedida; caso contrário 0.

Parâmetros

lpPoints

Aponta para uma matriz de ponto estruturas ou uma matriz de objetos de CPoint . Cada estrutura especifica a coordenada x e y-coordenar de um vértice do polígono. O ponto estrutura tem a seguinte forma:

typedef struct tagPOI&NT {
 nbsp; int x;
   int y;
} PONTO DE

nCount

Especifica o número de estruturas ponto ou CPoint objetos na matriz apontada pelo lpPoints.

nMode

Especifica o modo de preenchimento para a região. Este parâmetro pode ser alternativo ou enrolamento.

Observações

Cria uma região polygonal. O sistema fecha o polígono automaticamente, se necessário, por desenho uma linha do último vértice para o primeiro. A região resultante é armazenada no objeto CRgn.

O tamanho de uma região é limitado para unidades lógicas de 32.767 por 32.767 ou 64 K de memória, o que for menor.

Quando o modo de preenchimento de polígono é alternativo, o sistema preenche a área entre os lados do polígono ímpares e pares em cada linha de digitalização. Ou seja, o sistema preenche a área entre o primeiro e o segundo lado, entre o terceiro e o quarto lado e assim por diante.

Quando o modo de preenchimento de polígono é enrolamento, o sistema usa a direção em que uma figura foi desenhada para determinar se deve preencher uma área. Cada segmento de linha em um polígono é desenhado em um sentido horário ou anti-horário. Sempre que uma linha imaginária desenhada uma área fechada para o exterior de uma figura passa por um segmento de linha no sentido horário, uma contagem é incrementada. Quando a linha passa por um segmento de linha no sentido anti-horário, a contagem é diminuída. A área é preenchida se a contagem for diferente de zero quando a linha atinge fora da Figura.

Quando um aplicativo tiver terminado usando uma região criada com a função CreatePolygonRgn , ele deve selecionar a região fora do contexto do dispositivo e use a função DeleteObject a removê-lo.

Visão geral de CRgn |nbsp; Membros de classe | Gráfico de hierarquia

Consulte tambémnbsp;CRgn::CreatePolyPolygonRgn, :: CreatePolygonRgn

Index