Compartir a través de


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

Vea también

Referencia

CDC (clase)

Gráfico de jerarquías

CDC::Arc

Chord

POINT (Estructura)