CDC::Chord
Desenha um acorde (uma figura fechada limitada a interseção de uma elipse com um segmento de linha).
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 a coordenada x do canto superior esquerdo do retângulo delimitador da corda (em unidades lógicas).y1
Especifica a coordenada y do canto superior esquerdo do retângulo delimitador da corda (em unidades lógicas).x2
Especifica a coordenada x do canto inferior direito do retângulo delimitador da corda (em unidades lógicas).y2
Especifica a coordenada y do canto inferior direito do retângulo delimitador da corda (em unidades lógicas).x 3
Especifica a coordenada x do ponto que define a corda do ponto (em unidades lógicas) inicial.y3
Especifica a coordenada y do ponto que define a corda do ponto (em unidades lógicas) inicial.x4
Especifica a coordenada x do ponto que define o ponto de extremidade da corda (em unidades lógicas).y4
Especifica a coordenada y do ponto que define o ponto de extremidade da corda (em unidades lógicas).lpRect
Especifica o limite de retângulo (em unidades lógicas).Você pode passar em um LPRECT ou um CRect objeto para esse parâmetro.ptStart
Especifica as coordenadas x e y do ponto que define a corda do ponto (em unidades lógicas) inicial.Esse ponto não tem estar exatamente da corda.Você pode passar em um PONTO estrutura ou um CPoint objeto para esse parâmetro.ptEnd
Especifica as coordenadas x e y do ponto que define o ponto final da corda (em unidades lógicas).Esse ponto não tem estar exatamente da corda.Você pode passar em um PONTO estrutura ou um CPoint objeto para esse parâmetro.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Comentários
The (x1, y1) e ()x2, y2) parâmetros especificam os cantos superior esquerdo e inferior direito, respectivamente, de um retângulo delimitadora a elipse que é parte da corda. The (x 3, y3) e ()x4, y4) parâmetros especificam os pontos de extremidade de uma linha que intercepta a elipse. A corda é desenhada usando a caneta selecionada e preenchida com o uso de pincel selecionada.
A figura a ser desenhada pelo Chord a função se estende até, mas não inclui as coordenadas direita e inferior. Isso significa que a altura da figura é y2 – y1 e é a largura da Figura x2 – x1.
Exemplo
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
Cabeçalho: afxwin.h