CDC::PolyDraw
Dibuja un conjunto de segmentos de líneas y curvas spline de Bzier.
BOOL PolyDraw(
const POINT* lpPoints,
const BYTE* lpTypes,
int nCount
);
Parámetros
lpPoints
Señala a una matriz de estructuras de datos de PUNTO que contiene los extremos para cada segmento de línea y los extremos y los puntos de control para cada curva spline de Bzier.lpTypes
Señala una matriz que especifica cómo cada punto de la matriz de lpPoints se utiliza. Los valores pueden ser:PT_MOVETO especifica que este punto inicia una figura disjunta. Este punto se convierte en el nuevo posición actual.
PT_LINETO especifica que una línea debe ser extraída de la posición actual en este punto, que se convierte en el nuevo posición actual.
PT_BEZIERTO especifica que este punto es un punto de control o un extremo para una curva spline de Bzier.
Los tipos dePT_BEZIERTO siempre aparecen en conjuntos de tres. La posición actual define el punto inicial de la curva spline de Bzier. Los dos primeros puntos de PT_BEZIERTO son los puntos de control, y el tercer punto de PT_BEZIERTO es el extremo. El extremo se convierte en el nuevo posición actual. Si no existen tres puntos consecutivos de PT_BEZIERTO , se producirá un error.
Un tipo de PT_LINETO o de PT_BEZIERTO puede combinarse con la constante siguiente mediante el operador OR bit a bit indicar que el punto correspondiente es el último punto en una figura y se cierra la figura:
PT_CLOSEFIGURE especifica que se cierra la ilustración automáticamente después de que realizan al tipo de PT_LINETO o de PT_BEZIERTO para este punto. Una línea se extrae de este punto a PT_MOVETO o el punto más reciente de MoveTo .
Este marcador se combina con el tipo de PT_LINETO para una línea, o con el tipo de PT_BEZIERTO de extremo para una curva spline de Bzier, mediante el operador bit a bit de OR . La posición actual se establece en el punto final de la línea cerrada.
nCount
Especifica el número total de puntos en la matriz de lpPoints , igual que el número de bytes de la matriz de lpTypes .
Valor devuelto
Distinto de cero si la función es correcta; si no 0.
Comentarios
Esta función se puede usar para dibujar figuras no en lugar de llamadas consecutivas a CDC::MoveTo, CDC::LineTo, y el miembro de CDC::PolyBezierTo funciona. Las líneas y curvas spline se dibujan con el lápiz actual, y las figuras no se rellenan. Si hay una ruta activo encendida llamando a la función miembro de CDC::BeginPath , PolyDraw agrega a la ruta. Los puntos contenidos en la matriz de lpPoints y en lpTypes indican si cada punto forma parte de CDC::MoveTo, de CDC::LineTo, o de una operación de CDC::BezierTo . También es posible cerrar las figuras. Esta función actualiza la posición actual.
Ejemplo
Vea el ejemplo para CDC:: BeginPath.
Requisitos
encabezado: afxwin.h