Часть IV
Программирование для Windows с помощью библиотеки объектов OWL
Глава 25
Простейшее OWL-приложение Windows
В этой и последующих главах будут рассмотрены основные принципы разработки объектно-ориентированных приложений с использованием библиотеки объектов OWL 5.0, входящей в состав инструментального пакета Borland C++ 5.0 (в дальнейшем мы для краткости будем называть такие программы OWL-приложениями). Поскольку, как уже отмечалось, версия 5.0 компилятора Borland C++ предназначена в основном для разработки 32-битовых приложений, примеры этой и следующих глав реализовывались в виде 32-битовых программ, хотя это было сделано только в целях упрощения их подготовки и отладки; с таким же успехом эти программы можно оттранслировать в 16-битовом варианте. Результат работы первого приложения, рассматриваемого в этой главе, показан на рис. 25.1, где выводимое на экран главное окно приложения изображено на фоне Рабочего стола Windows 95.
Исходный текст OWL-программы, формирующей главное окно
//Приложение 25-1. Простая OWL -программа с типичной структурой
|
|
// Файл 25-1.срр
/*Операторы препроцессора*/
#include <owl\applicat.h>
#include <owl\framewin.h>
/*Класс МуАрр приложения, производный от Tapplication*/
class MyApp:public TApplication{
public:
virtual void InitMainWindow(); //Замещаем функцию InitMainWindow
};
/*Класс MyWindow главного окна, производный от TframeWindow*/ class MyWindow:public TFrameWindow{ public:
Простейшее OWL-приложение Windows 223
MyWindow(TWindow*parent,char far*title):TFrameWindow(parent,title){ SetBkgndColor(COLOR_WINDOWFRAME+1); I/Задаем цвет фона окна (серый) Attr.X=20; Attr.Y=20; //Задаем координаты окна Attr.W=200; Attr.H=60;/ /Задаем размеры окна }
};
/*Замещенная функция InitMainWindow() */ void MyApp::InitMainWindow(void){
MyWindow* myWin=new MyWindow(0,"Программа 25-1"); //Создаем объект класса MyWindow SetMainWindow(myWin); //Объявляем новое окно главным }
/*Главная функция приложения OwlMain*/ int OwlMain(int,char*[]){
MyApp myApp; //Создаем экземпляр myApp класса MyApp
return myApp.Run(); //Вызываем функцию-член Run() класса TApplication }