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


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


/*Функция отклика окна-клиента*/ 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*[]){




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