Программирование. Borland C++ 5.02 Курсоры и пиктограммы.
Мы воспользуемся кодом, приведенном в примере, использующем функцию Paint():
файл: Start.cpp
#include <owl\applicat.h>
#include <owl\framewin.h>
// Класс приложения
class StartApp : public TApplication
{
public:
StartApp() : TApplication() {}
void InitMainWindow();
};
// Класс главного окна
class StartWindow : public TFrameWindow
{
public:
StartWindow(TWindow *parent, char far *title);
void Paint(TDC&, bool, TRect&);
};
// Конструктор главного окна
StartWindow::StartWindow(TWindow *parent, char far *title)
:TFrameWindow(parent, title)
{
// код конструктора главного окна
// расположение и размеры главного окна
Attr.X = 100;
Attr.Y = 150;
Attr.W = 400;
Attr.H = 300;
}
void StartWindow::Paint(TDC& dc, bool, TRect&)
{
dc.TextOut(20, 20, "SerVit Mas")
}
// Функция InitMainWindow класса TStartApp
void StartApp::InitMainWindow()
{
StartWindow *startWnd = new StartWindow(0, "Первое окно");
SetMainWindow(startWnd);
}
// Функция OwlMain()
int OwlMain(int, char*[])
{
return StartApp().Run();
}
Вставляем в конструктор нашего окна функцию GetWindowClass();. Для этого:
1. Необходимо объявить функцию GetWindowClass(); в объявлении класса нашего окна.
2. Необходимо определить функцию GetWindowClass(); в определении класса нашего окна.
3. Необходимо определить дескрипторы пиктограммы и курсора.
4. Необходимо создать рисунки пиктограммы и курсора.
4. Включить рисунки пиктограммы и курсора в файл ресурсов.
Вот, что должно у Вас получиться:
файл: Start.cpp
#include <owl\applicat.h>
#include <owl\framewin.h>
// Глобальные переменные
HICON hIcoh;
HCURSOR hCursor;
// Класс приложения
class StartApp : public TApplication
{
public:
StartApp() : TApplication() {}
void InitMainWindow();
};
// Класс главного окна
class StartWindow : public TFrameWindow
{
public:
StartWindow(TWindow *parent, char far *title);
void GetWindowClass(WNDCLASS&);
void Paint(TDC&, bool, TRect&);
};
// Конструктор главного окна
StartWindow::StartWindow(TWindow *parent, char far *title)
:TFrameWindow(parent, title)
{
// код конструктора главного окна
// расположение и размеры главного окна
Attr.X = 100;
Attr.Y = 150;
Attr.W = 400;
Attr.H = 300;
}
void StartWindow::GetWindowClass(WNDCLASS& wc)
{
TWindow::GetWindowClass(wc);
wc.hIcon=hIcon;
wc.hCursor=hCursor;
}
void StartWindow::Paint(TDC& dc, bool, TRect&)
{
dc.TextOut(20, 20, "SerVit Mas")
}
// Функция InitMainWindow класса TStartApp
void StartApp::InitMainWindow()
{
StartWindow *startWnd = new StartWindow(0, "Курсор");
SetMainWindow(startWnd);
hIcon=LoadIcon("Icon1");
hCursor=LoadCursor("Cursor1");
}
// Функция OwlMain()
int OwlMain(int, char*[])
{
return StartApp().Run();
}
После этого необходимо создать рисунки курсора и пиктограммы и включить их в файл ресурсов. Здесь нам поможет встроенный специализированный редактор ресурсов Resourse Workshop, входящий в состав пакетов Borland C++. Файл с изображением значка должен иметь расширение .ICO, а файл с изображением курсора - .CUR. Открываем Resourse Workshop (меню File\New\Resourse Project).