CDC::Chord

Рисует аккорд (закрытая диаграмма прыгнутая пересечением эллипса и участка линии).

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

Параметры

  • x1
    Указывает координату по оси x левой стороны прямоугольника верхн- угла ограничивающего аккорда (в логических единицах).

  • y1
    Указывает координату по оси y верхнего левого угла ограничивающего прямоугольника верхн- аккорда (в логических единицах).

  • x2
    Определяет пару координат (x низк- правого угла ограничивающего прямоугольника аккорда (в логических единицах).

  • y2
    Указывает координату по оси y правого верхнего угла ограничивающего прямоугольника низк- аккорда (в логических единицах).

  • x3
    Указывает координату х точки, который определяет начальную точку аккорда (в логических единицах).

  • y3
    Указывает координату y точки, который определяет начальную точку аккорда (в логических единицах).

  • x4
    Указывает координату х точки, задающий конечную точку аккорда (в логических единицах).

  • y4
    Указывает координату y точки, задающий конечную точку аккорда (в логических единицах).

  • lpRect
    Указывает ограничивающий прямоугольник (в логических единицах).Можно передать или LPRECT или объект CRect для этого параметра.

  • ptStart
    Определяет координаты x и y точки, который определяет начальную точку аккорда (в логических единицах).Данная точка не должен находиться на аккорде.Можно передавать или структуру POINT или объект CPoint для этого параметра.

  • ptEnd
    Определяет координаты x и y точки, который определяет конечную точку аккорда (в логических единицах).Данная точка не должен находиться на аккорде.Можно передавать или структуру ТОЧКА или объект CPoint для этого параметра.

Возвращаемое значение

Ненулевой если функция успешно; в противном случае – значение 0.

Заметки

(x1, y1) и (x2, y2) параметры укажите верхн- слева и низк- правое углов прямоугольника, соответственно, ограничивающий эллипс, частью аккорда.(X3, y3) и (x4, y4) параметры укажите конечные точки линии, которая пересекает эллипс.Аккорд рисование с помощью выбранной пера и заполняется с помощью выбранной кисти.

Диаграмма выписанная функцией Chord распространяется до, но не включает координаты правах и снизу.Это означает, что высота диаграммы y2 – y1 и ширину элемента диаграммы x2 – x1.

Пример

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

Требования

Header: afxwin.h

См. также

Ссылки

Класс CDC

Диаграмма иерархии

CDC::Arc

Chord

Структура POINT