Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

середа, 26 квітня 2017 р.

Програма "Кольорова гістограма"

Усі ми знаємо, що в програмі Excel можна побудувати різні типи діаграм. На прикладі гістограми, яка зображена на малюнку:



ми спробуємо зробити програму "Кольорова гістограма":


Перше що ми зробимо це зайдемо на сайт miwzua.com та завантажимо там ось цей архів:

Після завантаження відкрийте його та запустіть проект...


Потім через Solution Explorer заходимо в ProgramDlg.h шукаємо розділ public: та після void rndcolor(); пишемо void diagramm();



Після чого заходимо в ProgramDlg.cpp і в кінці коду шукаємо розділ
void CProgramDlg::OnLButtonDown(UINT nFlags, CPoint point) де виключаємо rndcolor(); і вставляємо diagramm();



Потім вище void CProgramDlg::OnLButtonDown(UINT nFlags, CPoint point) пишемо такий код


 void CProgramDlg::diagramm()
{
 // рисуем на планшете
 CClientDC dc(this);
 GetClientRect(&rc);
 // ширина и высота в равных частях
 dx = abs(rc.right - rc.left) / 7;
 dy = abs(rc.bottom - rc.top) / 7;
 // формируем разноцветье для прямоугольников
 for (k = 0; k < 7; k++)
 {
  cx = rand() % 255;
  cy = rand() % 255;
  cz = rand() % 255;
  c[k] = RGB(cx, cy, cz);
 }
 // перекрашиваем область в белое
 cf = ck = RGB(255, 255, 255);
 dc.Rectangle(&rc);
 // прорисовываем прямоугольники разного цвета
 for (k = 0; k < 6; k++)
 {
  // крайние только белого света
  if ((k > 0) && (k < 6))
  {
   cf = ck = c[k];
   ck = RGB(255, 255, 255);
  }
  // устанвливаем цвет пера и кисточки
  hPenOxy = CreatePen(PS_SOLID, 24, ck);
  hOldPen = (HPEN)SelectObject(dc, hPenOxy);
  m = CreateSolidBrush(cf);
  oldm = (HBRUSH)dc.SelectObject(m);
  // размеры очередного прямоугольника
  x1 = rc.left + k*dx;
  y1 = rc.top + (rand() % 6 + 1)*dy - rand() % dy;
  x2 = rc.left + (k + 1)*dx;
  y2 = rc.bottom - dy + 50;
  // рисуем прямоугольник
  if ((k > 0) && (k < 6)) dc.Rectangle(x1, y1, x2, y2);
 }
 // восстанавливаем цвета
 DeleteObject(m);
 SelectObject(dc, oldm);
 SelectObject(dc, hOldPen);
 DeleteObject(hPenOxy);
}

Потім у гілці
void CProgramDlg::OnPaint()  там де else виключаємо zastavka(); та вставляємо

diagramm();



Все готово!!!



Дякую за увагу!!!

Немає коментарів:

Дописати коментар