Freigeben über


CDC::Chord

Zeichnet eine Sehne (einen geschlossenen Körper gesprungen durch die Schnittmenge einer Ellipse und des Liniensegments).

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  
);

Parameter

  • x1
    Gibt die X-Koordinate der oberen linken Ecke des umgebenden Rechtecks der Sehne an (in logischen Einheiten).

  • y1
    Gibt die Y-Koordinate der oberen linken Ecke des umgebenden Rechtecks der Sehne an (in logischen Einheiten).

  • x2
    Gibt die X-Koordinate der rechten unteren Ecke des umgebenden Rechtecks der Sehne an (in logischen Einheiten).

  • y2
    Gibt die Y-Koordinate der unteren rechten Ecke des umgebenden Rechtecks der Sehne an (in logischen Einheiten).

  • x3
    Gibt die X-Koordinate des Punkts an, der den Ausgangspunkt der Sehne definiert (in logischen Einheiten).

  • y3
    Gibt die y-Koordinate des Punkts an, der den Ausgangspunkt der Sehne definiert (in logischen Einheiten).

  • x4
    Gibt die X-Koordinate des Punkts an, der den Endpunkt der Sehne definiert (in logischen Einheiten).

  • y4
    Gibt die y-Koordinate des Punkts an, der den Endpunkt der Sehne definiert (in logischen Einheiten).

  • lpRect
    Gibt das umschließende Rechteck an (in logischen Einheiten). Sie können entweder LPRECT oder ein CRect-Objekt für diesen Parameter übergeben.

  • ptStart
    Gibt die x- und y-Koordinaten des Punkts an, der den Ausgangspunkt der Sehne definiert (in logischen Einheiten). Dieser Punkt muss nicht in der Sehne genau liegen. Sie können eine POINT-Struktur oder ein CPoint-Objekt für diesen Parameter übergeben.

  • ptEnd
    Gibt die x- und y-Koordinaten des Punkts an, der den Endpunkt der Sehne definiert (in logischen Einheiten). Dieser Punkt muss nicht in der Sehne genau liegen. Sie können eine PUNKT-Struktur oder ein CPoint-Objekt für diesen Parameter übergeben.

Rückgabewert

Ungleich 0 (null), wenn die Funktion erfolgreich; 0 andernfalls.

Hinweise

(x1, y1) und (x2, y2) Parameter geben Sie das linke obere und untere rechte Ecke bzw. eines Rechtecks an, das die Ellipse springt, die Teil der Sehne ist. (X3, y3) und (x4, y4) Parameter geben Sie die Endpunkte einer Zeile, die die Ellipse überlappt. Die Sehne wird gezeichnet, indem der ausgewählten Stift verwendet und ausgefüllt, indem den ausgewählten Pinsel verwendet.

Die Abbildung, die von der Funktion Chord gezeichnet wird, gilt bis enthalten, jedoch nicht die Recht- und Unterseitenkoordinaten. Dies bedeutet, dass die Höhe der Abbildung y2 - y1 und die Breite der Abbildung ist x2 - x1 ist.

Beispiel

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);
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CDC-Klasse

Hierarchiediagramm

CDC::Arc

Chord

POINT-Struktur