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