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


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


Функция OutTime() была описана в гл. 19. В ней после получения текущего времени и преобразова­ния его в символьную форму вызывается функция-член класса TWindow Invalidate(), которая инициирует сообщение WM_PAINT и перерисовывание окна с новым значением времени. Заметьте, что здесь вызы­вается не функция API Windows InvalidateRect(HWND, RECT FAR*, BOOL), требующая указания деск­риптора перерисовываемого окна, области перерисовывания и значения флаги перекраски фона, а инкап­сулированная в классе TWindow функция Invalidate(bool erase=true), которая может вызываться вообще без параметров, если программиста устраивает задаваемое по умолчанию значение флага перекраски фо­на erase (фон перекрашивается автоматически).

Исходный текст программы с главным меню

На рис. 27.2. приведен результат работы приложения 27-2.

//Приложение 27-2.   Обработка   сообщений от пунктов меню

//Файл 27-2.rс #include   "27-2.h" #include <owl\window.rh> MainMenu MENU{ POPUP  "&Файл"{

MENUITEM  "&О программе",   CM_ABOUT

MENUITEM   "&Выход",   CM EXIT

} POPUP   "&Графики"{

MENUITEM   "&Синус",   CM_SIN


248                                                    Глава 27

MENUITEM "&Косинус", CM_COS } }

//Файл 27-2.h #define CM_ABOUT 101 #define CM_SIN 102 #define CM_COS 103

//Файл 27-2.cpp

#include <owl\framewin.h>

#include "27-2.h"

#include <math.h>

/*Класс приложения, производный от ТApplication*/

class MyApp:public TApplication{

public:

void InitMainWindow();//Замещаем функцию InitMainWindow

};

/*Класс главного окна, производный от

TframeWindow*/ class MyWindow:public TFrameWindow{

double sine[640],cosine[640];//Массивы данных для графиков

bool sinIs,cosIs;//Индикаторы наличия данных для графиков

void Paint(TDC&,bool,TRect&);//Замещаем функцию Paint

void CmAbout();//Функция обработки сообщения от пункта "О программе"




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