Программирование >>  Программирование на языке c++ 

1 ... 141 142 143 [ 144 ] 145 146 147 ... 159


POPUP &town names

MENUITEM &Aveiro , CM AVEIRO CM AVEIRO -

имя пункта MENUITEM &Minsk , CM MINSK CM MINSK --

имя пункта MENUITEM SEPARATOR задание горизонтального

разделителя MENUITEM E&xit , CM EXIT CM EXIT - сис-

темное имя пункта

Файл проекта (*.ide) для нашей программы будет включать файлы программы (*.срр), ресурсов (*.гс) и описания (*.def).

9.6.5. Конструирование окон статуса и управления

В этом случае необходимо использовать класс TDecoratedFrame и компоненты-функции этого класса. Библиотека ObjectWindows позволяет также использовать специальные иконки, называемые gadgets. Рассмотрим пример:

#include <owl\appllcat.h> #include <owl\decframe.h> #include <owl\controlb.h> #include <owl\buttonga.h> #include <owl\statusba.h> #include <owl\gdiobjec.ii> #include gadg.rc class my win : public TWindow { public:

my win() : TWindow(0,0,0) {}; protected:

void CmMinskO;

void CmAveiroO;

void CmPortugalO;



DECLARE RESPONSE TABLE(my win);

DEFINE RESP0NSE TABLE1(my win, TWindow) EV COMMAND(CM MiNSK, CmMinsI), EV COMMAND(CM AVEIRO, CmAveiro), EV COM M AN D(CM PORTUGAL, Cm Portugal),

END RESPONSE TABLE;

void my win :: CmMinskQ

{ MessageBoxCThe capital of Belarus , INFORMATION ); } void my win :: CmAveiro()

{ MessageBoxCThe town of Portugal , INFORMATION ); }

void my win :: CmPortugal()

{ MessageBoxCEC country , INFORMATION ); }

class my app : public TApplication

{ public:

my app() : TApplication() {}

void InitMainWindowO;

void my app::lnitMainWindow()

{ Конструирование объекта класса TDecoratedFrame TDecoratedFrame* frame = new TDecoratedFrame{0,

Using gadgets , new my win, TRUE); Конструирование окна статуса

TStatusBar* sb = new TStatusBar(frame, TGadget::Recessed); Конструирование окна управления TControlBar *cb = new TControlBar(frame); Установка специальных иконок (gadgets) cb->lnsert{*new TButtonGadget(CM MINSK,CM MINSK,

TButtonGadget::Command)); cb->lnsert{*new TButtonGadget(CM AVEIRO,CM AVEIRO,

TButtonGadget::Command)); cb->lnsert(*new TSeparatorGadget); установка разделителя cb->lnsert(*new TButtonGadget(CM PORTUGAL,

CM PORTUGAL, TButtonGadget::Command)); Добавление окон статуса и управления в главное окно



frame->lnsert(*sb, TDecoratedFrame::Bottom); frame->lnsert(*cb, TDecoratedFrame::Top); Установка главного окна и его меню SetMainWindow(frame);

GetMainWindow()->AssignMenu{COMMANDS);

int OwlMain(int, char* []) { return my app().Run(); }

Файл gadg.rc, созданный при помощи инструмента Resource Workshop, будет выглядеть примерно так:

#ifndef WORKSHOPJNVOKED #include <windows.h> #endif

#include <owi\inputdia.rc> #include <owl\except.rc> #define COMMANDS 200

#define CM PORTUGAL 203

#define CM MINSK 202

#define CM AVEIRO 201

#ifdef RCJNVOKED #include <owl\statusba.rc> COMMANDS MENU {

POPUP Information

MENUITEM &Aveiro , CM AVE1R0 MENUITEM &Minsk , CM MINSK MENUITEM &Portugal , CM PORTUGAL

STRINGTABLE Строки, которые будут выводиться в поле { статуса при выборе соответствующего пункта меню (или иконки) CM MINSK, Displays Information about Minsk CM AVEIRO, Displays Information about Aveiro



1 ... 141 142 143 [ 144 ] 145 146 147 ... 159

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика