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


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


EV_COMMAND(CM_COSX,CmCosX),       меню

EV_COMMAND(CM_200,Cm200),         Макросы для откликов

EV_COMMAND(СМ_100,Cml00),         на пункты

EV_COMMAND(СМ_50,Сm50),              плавающего меню

EV_WM_RBUTTONDOWN,

END_RESPONSE_TABLE;//Завершаем таблицу откликов /*Конструктор класса MyWindow*/ MyWindow::MyWindow(TWindow*parent,const char far* title):TframeWindow

(parent,title){

AssignMenu("MainMenu");//Загрузка меню из файла приложения

sinIs=false; cosIs=false; sinXIs=false; cosXIs=false;//Начальные значения

//индикаторов

k=100; // Начальное значение масштаба

popupMenu.AppendMenu(MF_STRING,CM_200,"1.0=200 пикселов");//Формируем

popupMenu.AppendMenu(MF_STRING,CM_100,"1.0=100 пикселов");//плавающее

popupMenu.AppendMenu(MF_STRING,CM_50,"1.0=50 пикселов");//меню из 3 пунктов

}

/*3амещенная функция

SetupWindow*/ void MyWindow::SetupWindow(){

TWindow::SetupWindow();//Вызываем замещенную функцию SetupWindow

menu=new TMenu(HWindow);//Образуем объект класса TMenu

}

/*3амещенная функция

CleanupWindow()*/ void MyWindow::CleanupWindowО{

delete menu;//Удаляем созданный ранее объект меню

TWindow::CleanupWindow();//Вызываем исходную функцию

}


252 .                                              Глава27

/*Функции откликов на сообщения*/

void MyWindow::CmAbout(){

MessageBox("Демонстрация математических функций","О программе",

MB_ICONINFORMATION); } void MyWindow::CmSin(){

int state=menu->GetMenuState(CM_SIN,MF_BYCOMMAND);

if(state==MF_UNCHECKED)(//Если этот пункт меню не выбран

for(int i=0;i<640;i++)//Образовать

sine[i]=sin((double)i/20);//массив данных

sinIs=true;//Установить индикатор наличия данных

menu->CheckMenuItem(CM_SIN,MF_CHECKED);//Пометить команду меню

Invalidate();//Инициировать перерисовку окна

} else{//Если этот пункт меню уже выбран

for(int i=0;i<640;i++)//Очистить

sine[i]=0;//массив данных

sinIs=false;//Сбросить индикатор наличия данных




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



Книжный магазин