Получим рабочую область рабочего окна
/*Функция отклика окна-клиента*/ void MyClient::CmHelp(){
new TDialog(this,Dig)->Execute();//Открываем модальный диалог } void MyClient::CmPoints(){
view=POINTS;//Устанавливаем значение флажка-переключателя Invalidate(); //Инициируем перерисовывание рабочего окна }
void MyClient::CmCurve(){ view=CURVE; Invalidate(); }
void MyClient::CmHisto(){ view=HISTO; Invalidate(); }
void MyClient::CmBlue(){
color=BLUE; Invalidate(); } void MyClient::CmGreen(){
color=GREEN;
Invalidate(); }
/*Функция Paint() класса MyClient*/ void MyClient::Paint(TDC&dc,bool,TRect&){ if(color==BLUE){
TPen myPen(TColor::LtBlue, 1); dc.SelectObject(myPen); TBrush myBrush(TColor::LtBlue); dc.SelectObject(myBrush); } else if(color==GREEN){
TPen myPen(TColor::LtGreen,1); dc.SelectObject(myPen); TBrush myBrush(TColor::LtGreen); dc.SelectObject(myBrush); }
TRect wndRect=GetClientRect();// Получим рабочую область рабочего окна int i;
switch(view){ case(POINTS): for(i=0;i<FILESIZE;i++)
dc.Ellipse(i*10+10-2,wndRect.bottom-data[i]-2,1*104-10+2,
wndRect.bottom-data[i]+2); break; case(CURVE):
dc.MoveTo(10,wndRect.bottom-data[0]); for(i=l;i<FILESIZE;i++)
280 Глава 29
dc.LineTo(i*10+10,wndRect.bottom-data[i] ); break;
case(HISTO): for(i=0;i<FILESIZE;i++)
dc.Rectangle(i*10+10,wndReqt.bottom-data[i],i*10-4-10+9,wndRect.bottom); break; } }
/*Замещающая функция GetWindowClass*/ void MyWindow::GetWindowClass(WNDCLASS& wc){ TWindow::GetWindowClass(wc);
wc.style=CS_VREDRAW;//Необходимо, т.к. график рисуется снизу }
/*Замещающая функция InitMainWindow()*/ void MyApp::InitMainWindow(){ EnableBWCC();
SetMainWindow(new MyWindow(0,"Программа 29-3",new MyClient)); FILE* fp=fopen("28-4.dat","r");//Открываем файл для чтения for(int i=0;i<FILESIZE;i++)
fscanf(fp,"%d",&data[i]);//Читаем данные в массив data fclose(fp);//Закрываем файл }
/*Главная функция приложения OwlMain*/ int OwlMain(int,char*[]){
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий