CDC::Chord
Dibuja un acorde (una figura cerrada limitada por la intersección de una elipse y un segmento de línea).
BOOL Chord(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3,
int x4,
int y4
);
BOOL Chord(
LPCRECT lpRect,
POINT ptStart,
POINT ptEnd
);
Parámetros
x1
Especifica la coordenada x de la esquina superior izquierda del rectángulo delimitador de acorde (en unidades lógicas).y1
Especifica la coordenada y de la esquina superior izquierda del rectángulo delimitador de acorde (en unidades lógicas).x2
Especifica la coordenada x de la esquina inferior derecha del rectángulo delimitador de acorde (en unidades lógicas).y2
Especifica la coordenada y de la esquina inferior derecha del rectángulo delimitador de acorde (en unidades lógicas).x3
Especifica la coordenada x del punto que define el punto de inicio de acorde (en unidades lógicas).y3
Especifica la coordenada y del punto que define el punto de inicio de acorde (en unidades lógicas).x4
Especifica la coordenada x del punto que define el extremo de acorde (en unidades lógicas).y4
Especifica la coordenada y del punto que define el extremo de acorde (en unidades lógicas).lpRect
especifica el rectángulo delimitador (en unidades lógicas).Puede pasar LPRECT o un objeto de CRect para este parámetro.ptStart
Especifica las coordenadas x e y del punto que define el punto de inicio de acorde (en unidades lógicas).este punto no tiene que mentir exactamente en el acorde.Puede pasar una estructura de puntos o un objeto de CPoint para este parámetro.ptEnd
Especifica las coordenadas x e y del punto que define el punto de fin de acorde (en unidades lógicas).este punto no tiene que mentir exactamente en el acorde.Puede pasar una estructura de puntos o un objeto de CPoint para este parámetro.
Valor devuelto
Distinto de cero si la función es correcta; si no 0.
Comentarios
(x1, y1) y (x2, y2) los parámetros especifique las esquinas superior izquierda e inferior derecha, respectivamente, de un rectángulo que limita la elipse que forma parte de acorde.(X3, y3) y (x4, y4) los parámetros especifique los extremos de una línea que forma la elipse.El acorde se dibuja utilizando el lápiz seleccionados y se rellena mediante el pincel seleccionado.
La ilustración dibujado por la función de Chord extiende hasta, pero no incluye las coordenadas de la derecha e inferior.esto significa que el alto de la figura es y2 – y1 y el ancho de la figura es x2 – x1.
Ejemplo
void CDCView::DrawChord(CDC* pDC)
{
// Fill the client area with a circle. The circle is
// blue and filled with blue, but has a chord cut out
// of it from 3 o'clock to 6 o'clock. That chord is
// red and filled with a red diagonal hatch.
// Get the client area.
CRect rectClient;
GetClientRect(rectClient);
// Make a couple of pens and similar brushes.
CPen penBlue, penRed;
CBrush brushBlue, brushRed;
CBrush* pOldBrush;
CPen* pOldPen;
brushBlue.CreateSolidBrush(RGB(0, 0, 255));
brushRed.CreateHatchBrush(HS_FDIAGONAL, RGB(255, 0, 0));
penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));
// Draw from 3 o'clock to 6 o'clock, counterclockwise,
// in a blue pen with a solid blue fill.
pOldPen = pDC->SelectObject(&penBlue);
pOldBrush = pDC->SelectObject(&brushBlue);
pDC->Chord(rectClient,
CPoint(rectClient.right, rectClient.CenterPoint().y),
CPoint(rectClient.CenterPoint().x, rectClient.right));
// Draw the remaining quarter chord from 6 o'clock
// to 3 o'clock, counterclockwise, in a red pen
// with the hatched brush.
pDC->SelectObject(&penRed);
pDC->SelectObject(&brushRed);
// Keep the same parameters, but reverse start and
// end points.
pDC->Chord(rectClient,
CPoint(rectClient.CenterPoint().x, rectClient.right),
CPoint(rectClient.right, rectClient.CenterPoint().y));
// Restore the previous pen.
pDC->SelectObject(pOldPen);
}
Requisitos
encabezado: afxwin.h