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


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


myWin->SetIcon(myWin->GetApplication(),"myIcon");

однако проще и изящнее использовать указатель this (см. предыдущий фрагмент), который в функции, принадлежащей классу МуАрр, как раз и указывает на текущий объект этого класса.

Вывод растровых изображений

Вывод программы, рассматриваемой в настоящем разделе, приведен на рис. 26.10.

//Приложение  26-5.

11Файл 26-5.rс

myPicture BITMAP "picture.bmp"//Ссылка на файл с растровым изображением

//Файл

26-5.срр

#include <owl\framewin.h>

/*Класс приложения, производный от TApplication (ради InitMainWindow)*/

class MyApp:public TApplication{ public:

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


Обработка сообщения WM_PAINT и интерфейс GDI                                                241


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

class MyWindow:public TFrameWindow{ private:

TBitmap* bitmap;//Создаем указатель на объект - изображение в памяти public:

MyWindow(TWindow*parent,const char far*  title):TFrameWindow(parent,title){ Attr.X=0;Attr.Y=0;//Задаем координаты окна Attr.W=::GetSystemMetrics(SM_CXSCREEN);//Задаем размеры Attr.H=::GetSystemMetrics(SM_CYSCREEN);//окна - на весь экран bitmap=new TBitmap(GetModule()->GetInstance(),"myPicture");//Загружаем ресурс }

~MyWindow(){delete bitmap;}//Деструктор ради удаления bitmap

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

};

/*Замещенная функция InitMainWindow() */ void MyApp::InitMainWindow(void){

MyWindow* myWin=new MyWindow(0,"Программа 26-5");

SetMainWindow(myWin);

}

/*3амещенная функция Paint()*/ void MyWindow::Paint(TDC&dc,bool,TRect&) {

TMemoryDC memdc (dc); //Создаем совместимый контекст

memdc.SelectObject(*bitmap);//Выбор изображения в совместимый контекст

dc.BitBlt(10,80,bitmap->Width(),bitmap->Height(),memdc,0,0,SRCCOPY);//Копирование /*Далее выполняется вывод в окно текстовых строк*/




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



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