Высота рамки вокруг графика const
#include <owl\framewin.h>
/*Отображаемые на графике даяние*/
int data[10]={0,20,15,36,50,45,50,70,85,100); /*Константы, описывающие размера изображения*/
const radius=4;//Радиус точек графика
const dx=2Q;//Шаг по X
const margins=10;//Поля графика
const X=dx*9; // Ширина графика из 10 точек
const Y=100;//Высота графика
const XBorder=X+2*margins;/ 7Высота рамки вокруг графика const YBorder=Y+2*margins;//Ширина рамки вокруг графика /*Объекты классов положения и размеров*/
TSize size(radius*2,radius*2);//Квадрат для рисования точек графика TPoint X0Y0(30,10);//Верхний левый угол рамки относительно окна приложения TPoint XmYm=X0Y0.OffsetBy(XBorder,YBorder);//Правый нижний угол рамки TRect border(X0Y0,XmYm);//Прямоугольник рамки TRect graph=border.InflatedBy(-margins,-margins);//Прямоугольник графика
232 Глава 26
/*Класс приложения, производный от TApplication (ради InitMainWindow)*/
class MyApp:public TApplication{ public:
void InitMainWindow();//Замещаем функцию
InitMainWindow };
/*Класс главного окна, производный от TFrameWindov (ряди Paint) */ class MyWindow:public TFrameWindow{ public:
MyWindow(TWindow*parent,char far*title):TFrameWindow(parent,title){ Attr.X=0;Attr.Y=0; Attr.W=245;Attr.H=200; }
void Paint(TDC&,bool,TRect&);//Переопределяем функцию Paint };
/*Замещенная функция InitMainWindow()*/ void MyApp::InitMainWindow(void){
SetMainWindow(new MyWindow(0,"Программа 26-2")); }
/*Замещенная функция Paint ()*/ void MyWindow::Paint(TDC&dc,bool,TRect&){ int i;//Переменная циклов
char ticks[10][2];//Массив цифр под осью X TPoint р; //Текущая координата для рисования рисок dc.Rectangle(border);//Рисуем рамку for(i=0;i<=9;i++){//В цикле по 10 точкам
p=graph.BottomLeft()+=i*dx;//Текущая координата верхних концов рисок dc.MoveTo(p); / / В цикле перемещаемся по верхним концам рисок dc.LineTo(p.OffsetBy(0,margins));//и рисуем риски вниз до рамки wsprintf(ticks[i],"%d",i);//Преобразуем цифры в символы dc.TextOut(p.OffsetBy(-3,margins+3),ticks[i]);//Выводим цифры под осью }
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий