среда, 12 апреля 2017 г.

Кругова діаграмма

Знаємо, що в програмі Exel можна зробити ось таку діаграму:


Зараз ми спробуємо намалювати цю Діаграму в Visual Studio

Запускаємо Visual Studio
Потім заходимо в ProgramDlg.cpp та видаляємо там с[0,1,2,3,4,5,6,7,8,9,10,11]та перед  CDialog::OnPaint(); 



Пишемо код:



HPEN hPenOxy, hOldPen;  //- включить перо рисование
int x1, x2, x3, x4, y1, y2, y3, y4;

CClientDC dc(this);

GetClientRect(&rc);

dc.FillSolidRect(&rc, 0x00FFFFFF);

hPenOxy = CreatePen(PS_SOLID, 3, 0x00FFFFFF);
hOldPen = (HPEN)SelectObject(dc, hPenOxy);
x1 = rc.left + 170;
y1 = rc.top + 10;
x2 = rc.right - 170;
y2 = rc.bottom - 10;

// определить цвет рисования обьекта

m = CreateSolidBrush(0x0000BBFF);
oldm = (HBRUSH)dc.SelectObject(m);

dc.Ellipse(x1, y1, x2, y2);


// определить цвет рисования обьекта

m = CreateSolidBrush(0x00E16941);
oldm = (HBRUSH)dc.SelectObject(m);

x3 = x2;

y3 = (y1 + y2) / 2 + 20;
x4 = (x1 + x2) / 2;
y4 = y1;

dc.Pie(x1, y1, x2, y2, x3, y3, x4, y4);


// определить цвет рисования обьекта

m = CreateSolidBrush(0x002E67F3);
oldm = (HBRUSH)dc.SelectObject(m);

x3 = x2 - 50;

y3 = y2;
x4 = x2;
y4 = (y1 + y2) / 2 + 20;

dc.Pie(x1, y1, x2, y2, x3, y3, x4, y4);


// определить цвет рисования обьекта

m = CreateSolidBrush(0x00C4A69A);
oldm = (HBRUSH)dc.SelectObject(m);

x3 = x1;

y3 = y2 - 50;
x4 = x2 - 50;
y4 = y2;

dc.Pie(x1, y1, x2, y2, x3, y3, x4, y4);


// рисование скругленного прямоугольника

//rc.DeflateRect(5, 5);
//dc.RoundRect(&rc, CPoint(45, 45));

SelectObject(dc, hOldPen);

DeleteObject(hPenOxy);
DeleteObject(m);
SelectObject(dc, oldm);




Запустивши цю програму ми отримаємо бажаний результат:

Комментариев нет:

Отправить комментарий