Программирование под Win32


Программирование для Windows с помощью библиотеки объектов OWL - стр. 18


dc.MoveTo(graph.TopLeft());//Рисуем верхнюю

dc.LineTo(graph.TopLeft().OffsetBy(-margins,0));//горизонтальную риску dc.MoveTo(graph.BottomLeft ());//Рисуем нижнуюю

dc.LineTo(graph.BottomLeft().OffsetBy(-margins,0));//горизонтальную риску . dc.TextOut(graph.TopLeft().OffsetBy(-margins-25,-7),"100");//Выводим цифры dc.TextOut(graph.BottomLeftО.OffsetBy(-margins-10,-7),"0");/1'масштаба TPen pen1(TColor::LtBlue,2);//Создаем синее перо  толщиной 2 пиксела dc.SelectObject(pen1);//и выбираем его в контекст устройства

dc.MoveTo(graph.BottomLeft().OffsetBy(0,-data[0]));//Перемещаемся к первой точке for(i=1;i<=9;i++)//В цикле по  9  точкам соединияем линиями точки графика

dc.LineTo(graph.BottomLeft().OffsetBy(i*dx,-data[i])); TPen pen2(TColor::LtMagenta);//Создаем фиолетовое перо dc.SelectObject(pen2);//и выбираем его в контекст устройства TBrush brush(TColor::LtMagenta);//Создаем фиолетовую кисть dc.SelectObject(brush);//и выбираем ее в  контекст устройства for(i=0; i<=9;i++)//Рисуем залитые  точки графика

dc.Ellipse(graph.BottomLeft().OffsetBy(i*dx-radius,-data[i]-radius),size); }

/*Главная функция приложения OwlMain*/ int OwlMain(int,char*[]){ return MyApp().Run(); }

В примере 26-2 в главное окно приложения выводится график значений, записанных в массиве целых чисел data. Для упрощения программы эти числа не считываются из файла данных на диске, как это было бы более естественно, а описаны непосредственно в программе; кроме того, не предусмотрено ни мас­штабирования чисел (считается, что они расположены в диапазоне от 0 до 100), ни изменения их количе­ства. Точки графика соединены прямыми линиями и, кроме того, каждая точка отображается в виде за­литого кружка.

Программа по своей структуре аналогична уже рассмотренным, если не считать вид функции InitMainWindow, в которой создается объект класса MyWindow и созданное окно объявляется главным окном приложения. Поскольку указатель на этот объект (в предыдущих примерах он назывался myWin) нигде больше в программе не используется, нет необходимости его создавать отдельным предложением программы. В варианте, использованном в данном примере




Начало  Назад  Вперед