BOOL CreatePolyPolygonRgn ( LPPOINT lpPoints, LPINT lpPolyCounts, int nCount, int nPolyFillMode );
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 que define os vértices dos polígonos. Cada polígono deve ser explicitamente fechado porque o sistema não fecha-las automaticamente. Os polígonos são especificados consecutivamente. O ponto estrutura tem a seguinte forma:
typedef struct tagPOI&NT {
nbsp; int x;
int y;
} PONTO DE
lpPolyCounts
Aponta para uma matriz de inteiros. O primeiro inteiro Especifica o número de vértices no primeiro polígono na matriz lpPoints , o segundo inteiro Especifica o número de vértices no segundo polígono e assim por diante.
nCount
Especifica o número total de números inteiros na matriz lpPolyCounts.
nPolyFillMode
Especifica o modo polígono-preenchimento. Este valor pode ser alternativo ou enrolamento.
Observações
Cria uma região consiste de uma série de polígonos fechados. A região resultante é armazenada no objeto CRgn.
Os polígonos podem ser separados, ou eles podem sobrepor-se.
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 de CreatePolyPolygonRgn , ele deve selecionar a região fora do contexto do dispositivo e use a função de membro CGdiObject:: DeleteObject para removê-lo.
Visão geral de CRgn |nbsp; Membros de classe | Gráfico de hierarquia
Consulte tambémnbsp;CRgn::CreatePolygonRgn, CDC::SetPolyFillMode, :: CreatePolyPolygonRgn