CRgn::CreatePolyPolygonRgn

Crea una región que se compone de una serie de polígonos cerrados.

BOOL CreatePolyPolygonRgn(
   LPPOINT lpPoints,
   LPINT lpPolyCounts,
   int nCount,
   int nPolyFillMode 
);

Parámetros

  • lpPoints
    Señala a una matriz de estructuras de POINT o a una matriz de los objetos de CPoint que define los vértices de los polígonos.Cada polígono debe cerrarse explícitamente porque no cierra el sistema ellos automáticamente.Los polígonos se especifican consecutivamente.La estructura de puntos tiene el siguiente formato:

    typedef struct tagPOINT {

    int x;

    int y;

    } POINT;

  • lpPolyCounts
    Señala a una matriz de enteros.El primer entero especifica el número de vértices en el primer polígono en la matriz de lpPoints , el segundo entero especifica el número de vértices en el segundo polígono, y así sucesivamente.

  • nCount
    Especifica el número total de enteros en la matriz de lpPolyCounts .

  • nPolyFillMode
    Especifica el modo de polígono- relleno.este valor puede ser Alternar o WINDING.

Valor devuelto

Distinto de cero si la operación se realizó correctamente; si no 0.

Comentarios

la región resultante se almacena en el objeto de CRgn .

Los polígonos pueden ser disjuntos, o se pueden superponer.

El tamaño de una región está limitado a 32.767 por 32.767 unidades lógicas o a de memoria de, lo que sea menor.

Cuando el modo de polígono-relleno es Alternar, el sistema rellenará el área entre los lados con números impares y pares de polígono en cada línea de análisis.Es decir, el sistema rellenará el área entre el primer y segundo lado, entre el tercero y cuarto lado, y así sucesivamente.

Cuando el modo de polígono-relleno es WINDING, el sistema utiliza la dirección en la que una figura se dibuja para determinar si rellenar un área.Cada segmento de línea en un polígono se dibuja en una dirección a la derecha o a la izquierda.Siempre que una línea imaginaria extraída de un área incluye el fuera de una figura pasa a través de un segmento de línea a la derecha, se incrementa un recuento.cuando la línea pasa a través de un segmento de línea a la izquierda, se disminuye el recuento.Se rellenará el área si el número es distinto de cero cuando la línea alcanza fuera de la figura.

Cuando una aplicación ha terminado de utilizar una región creada con la función de CreatePolyPolygonRgn , debe seleccionar la región fuera del contexto de dispositivo y utilizar la función miembro de CGDIObject:: DeleteObject para quitarlo.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase de CRgn

Gráfico de jerarquía

CRgn::CreatePolygonRgn

CDC::SetPolyFillMode

CreatePolyPolygonRgn