CDC::Chord
Estrae una corda (una figura chiusa limitata dall'intersezione di un'ellisse e un segmento di riga.
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
);
Parametri
x1
Specifica la coordinata x dell'angolo superiore sinistro del rettangolo di delimitazione di corda (in unità logiche).y1
Specifica la coordinata y dell'angolo superiore sinistro del rettangolo di delimitazione di corda (in unità logiche).x2
Specifica la coordinata x l'angolo inferiore destro del rettangolo di delimitazione di corda (in unità logiche).y2
Specifica la coordinata y l'angolo inferiore destro del rettangolo di delimitazione di corda (in unità logiche).x3
Specifica la coordinata x del punto che definisce il punto iniziale della corda (in unità logiche).y3
Specifica la coordinata y del punto che definisce il punto iniziale della corda (in unità logiche).x4
Specifica la coordinata x del punto in cui è definito endpoint di corda (in unità logiche).y4
Specifica la coordinata y del punto in cui è definito endpoint di corda (in unità logiche).lpRect
Specifica il rettangolo di delimitazione (in unità logiche).È possibile passare LPRECT o un oggetto CRect per questo parametro.ptStart
Specifica le coordinate x e y del punto che definisce il punto iniziale della corda (in unità logiche).Questo passaggio non deve rientrare esattamente la corda.È possibile passare una struttura di punti o un oggetto CPoint per questo parametro.ptEnd
Specifica le coordinate x e y del punto che definisce il punto finale della corda (in unità logiche).Questo passaggio non deve rientrare esattamente la corda.È possibile passare una struttura QUESTION o un oggetto CPoint per questo parametro.
Valore restituito
Diverso da zero se la funzione ha esito positivo; in caso contrario 0.
Note
(x1, y1) e (x2, y2) specificare parametri in alto a sinistra e gli angoli inferiore destro, rispettivamente, di un rettangolo che limita l'ellisse che fanno parte della corda.(X3, y3) e (x4, y4) parametri specificare endpoint di una riga che interseca l'ellisse.La corda viene disegnata utilizzando la penna selezionata e viene riempita con il pennello selezionato.
Nella figura tracciata dalla funzione Chord estende fino a, ma non le coordinate del basso e a destra.Ciò significa che l'altezza della figura è y2 – y1 e la larghezza della figura è x2 – x1.
Esempio
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);
}
Requisiti
Header: afxwin.h