Для побудування меню команд у 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Для побудування меню команд у



ПРИКЛАДНІЙ ПРОГРАМІ С++

Крок 1. Створюємо новий проект для програми С++ з контрольної роботи №3 і для цього необхідно виконувати наступні дії:

- в основному вікні С++ Builder виконуємо команду File/New/ Application для створення чистої основної форми Form1;

- переходимо у вікно інспектора об’єктів і у полі Caption набіраємо назву «Мнемосхема технологічного процесу виробництва хлорметанів» для заголовку вікна прикладної програми С++;

- виконуємо команду File/Save Project As і пропонуєму для файлу назву Project1.bpr залишаємо, або задаємо назву проекту P-xlormetans.bpr та пропонуєму назву файлу Unit1.cpp залишаємо для програмного модуля першої відкритої форми Form1.

Крок 2. Для побудови основного меню команд програми С++ на полі Form1 встановлюємо компоненту MainMenu з сторінки Standard бібліотеки VCL і для цього необхідно виконати таки дії:

- у бібліотеці вибіраємо маніпулятором “мишка” компоненту MainMenu;

- робимо щелчок клавішей мишки на розміточній сітці вікна Form1.

Крок 3. Блок-схема алгоритму з виконання команд у меню програми С++ з контрольної роботи № 3 показано на рис. 5-1. Відповідно до алгоритму рис. 5-1 і до структури меню команд на рис. 2-2 задаємо у компоненту MainMenu пункти команд такими діями:

- натискаємо лівою кнопкою мишки на формі по значку MainMenu та обираємо Menu Designer;

- обираємо курсором з двох рамок верхню та у вікні інспектора об’єктів в полі Caption вводимо назву “Технологія”, а у полі name вводимо назву “ Technology ”.

Далі створюємо пункт меню “Апарати”. Для цього натискаємо правою кнопкою мишки на пункті “Апарати” та обираємо Create Submenu, або ж просто натискаємо Ctrl+Right на клавіатурі (Right — стрілка вправо). Далі повторюємо аналогічні дії, як і при створенні меню “Технологія”. У вікні інспектора об’єктів в полі Caption вводимо назву “Апарати”, а у полі name вводимо назву “ Devices ”.

Створюємо далі основні пункти для меню “Інформація” та “Вихід” аналогічними діями, як і у пунктах меню “Технологія” та “Апарати”. У полі name для пункту меню “Інформація” вводимо назву “ Info ”, а для пункту меню “Вихід” вводимо назву “ Exit ”.

Крок 3.1 Створюємо підменю “Схема”, “Опис схеми” і “Продукція” для меню “Технологія”. Для цього заповнюємо комірки нижче назви меню “Технологія”. У полі name для пункту меню “Схема” вводимо назву “ Scheme ”, а для пункту меню “Опис схеми” вводимо назву “ Description ” і для пункту меню “Продукція” вводимо назву “ Products ”.

Крок 3.2 Створюємо підменю “Хлоратор”, “Абсорбер” і “ Розріджувач лугу” для меню “Апарати” аналогічними діями, відповідно до дій кроку 3.1.

У полі name для пункту меню “Хлоратор” вводимо назву “ Device1 ”, для пункту меню “Абсорбер” вводимо назву “ Device2 ” і для пункту меню “Розріджувач лугу” вводимо назву “ Device3 ”. Для кожного з цих підменю створюємо по три власних підкоманди за допомогою клавіш клавіатури Ctrl+Right (Right – стрілка вправо): “Конструкція”, “Опис процесу”, “Параметри”.

Для першого апарату в полі name для підкоманди “Конструкція” вводимо назву “ Design1 ”. Для підкоманди “Опис процесу” вводимо назву “ Process1 ” і для підкоманди “Параметри” вводимо назву “ Characteristic1 ”.

Для другого апарату в полі name для підкоманди “Конструкція” вводимо назву “ Design2 ”. Для підкоманди “Опис процесу” вводимо назву “ Process2 ” і для підкоманди “Параметри” вводимо назву “ Characteristic2 ”.

Для третього апарату в полі name для підкоманди “Конструкція” вводимо назву “ Design3 ”. Для підкоманди “Опис процесу” вводимо назву “ Process3 ” і для підкоманди “Параметри” вводимо назву “ Characteristic3 ”.

 

 

 

Рис. 5-1. Блок-схема алгоритма з виконання команд основного

меню програми С++ з контрольної роботи № 3.

 

Крок 3.3 Створюємо підкоманди “Про програму” та “Література” для меню команд “Інформація” аналогічними діями, як і при виконанні кроку 3.2. У полі name для підменю “Про програму” вводимо назву “ About ”, а для підменю “Література” вводимо назву “ Literature ”. Для зручності роботи з інспектором об’єктів можна скористатись наступними таблицами:

Таблиця 5-1.

MainMenu
Технологія Апарати Інформація Вихід
Caption Name Caption Name Caption Name Caption Name
Технологія Technology Апарати Devices Інформація Info Вихід Exit

 

Таблиця 5-2.

Технологія
Схема Опис схеми Продукція
Caption Name Caption Name Caption Name
Схема Scheme Опис схеми Description Продукція Products

 

Таблиця 5-3.

Апарати
Хлоратор Абсорбер Розріджувач лугу
Caption Name Caption Name Caption Name
Хлоратор Device1 Абсорбер Device2 Розріджувач лугу Device3

 

Таблиця 5-4.

Хлоратор
Конструкція Опис процесу Параметри
Caption Name Caption Name Caption Name
Конструкція Design1 Опис процесу Process1 Параметри Characteristic1

 

Таблиця 5-5.

Абсорбер
Конструкція Опис процесу Параметри
Caption Name Caption Name Caption Name
Конструкція Design2 Опис процесу Process2 Параметри Characteristic2

Таблиця 5-6.

Розріджувач лугу
Конструкція Опис процесу Параметри
Caption Name Caption Name Caption Name
Конструкція Design3 Опис процесу Process3 Параметри Characteristic3

 

Таблиця 5-7.

Інформація
Про програму Література
Caption Name Caption Name
Про програму About Література Literature

 

Крок 4. Встановлюємо на Form1 компоненту ImageList з сторінки Win32 у бібліотеці компонентів С++ Builder.

Крок 5. Завантажуємо у компоненту ImageList1 іконки (значки) для пунктів меню команд.

Натискаємо лівою кнопкою миші на формі по значку ImageList1 та обираємо Imagelist Editor. За допомогою кнопки Add вказуємо шлях доступу до іконок та відкриваємо їх кнопкою “ Открыть ”.

Крок 6. Приєднуємо компоненту ImageList1 до основного меню команд програми, завданих у MainMenu.

Натискаємо лівою кнопкою миші на формі по значку MainMenu та у вікні інспектора об’ктів обираємо корешок сторинки Events. В полі Images вводимо ImageList1.

Крок 7. Приєднуємо іконки до пунктів підменю.

Натискаємо лівою кнопкою миші на формі по значку ImageList1 та обираємо Imagelist Editor. Запам’ятовуємо порядковий номер іконки для певного пункту підменю і номер іконки, вказаний під самою іконкою. Нумерація іконок починається з нуля. Далі натискаємо лівою кнопкою миші на формі по значку MainMenu та обираємо Menu Designer.

Обираємо пункт меню, для якого ми запам’ятовували порядковий номер іконки та у вікні інспектора об’єктів у полі ImageIndex вводимо номер цієї самої іконки. Повторюємо аналогічні дії для усіх пунктів та підпунктів меню команд програми С++.

Крок 8. Встановлюємо на Form1 компоненту Image з сторінки Additional у бібліотеці компонентів С++ Builder та маркерною рамкою визначаємо бажаний розмір поля для розміщення рисунка мнемосхеми технологічного процесу виробництва хлорметанів (рис. 4.2-1), як основного фону прикладної програми С++. Якщо потрібно розмір форми можна також змінити.

Крок 9. Встановлюємо на Form1 компоненту Label з сторінки Additional у бібліотеці компонентів та розміщуємо у лівому нижньому куту форми Form1.

Крок 10. Натискаємо лівою кнопкою мишки на Form1 у полі Image1 та у вікні інспектора об’єктів в полі Picture натискаємо на значок з трьома крапками. Далі кнопкою Load відкриваємо список катологів і вказуємо шлях доступу до рисунка (формат *.bmp) мнемосхеми технологічного процесу та натискаємо кнопку “ Открыть ” і у вікні PictureEditor натискаємо кнопку “ ОК ”. Правою кнопкою мишки натискаємо на полі Image1 та виконуємо команду Сontrol/Send to back.

Крок 11. На рисунку, що завантажился у Image1, за допомогою компоненти Image з сторінки Additional встановлюємо окремі поля (Image2.. Image18) навколо кожного технологічного апарату для визначення відповідної підказки до назви технологічного апарату, показаного на мнемосхемі хімічного виробництва.

Крок12. Задаємо відображення у Label1 підказок з назв технологічних апаратів при переміщенні курсора маніпулятора “мишка” по мнемосхемі технологічного процесу, яку завантажено у Image1.

Натискаємо на полі Image1 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image1MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption=("");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image2 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image2MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image2MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("3 - Змішувач");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image3 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image3MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image3MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("4 - Хлоратор");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image4 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image4MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image4MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("1 - Змішувач");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image5 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image5MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image5MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("2 - Підігрівник");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image6 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image6MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image6MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("5 - Сажовловлювач");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image7 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image7MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image7MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("16 - Сепаратор");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image8 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image8MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image8MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("10 – Графітовий холодильник");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image9 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у функцію Image9MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image9MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("7 – Абсорбер");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image10 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image10MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image10MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("8 – Абсорбер");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image11 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image11MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image11MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("9 – Розріджувач лугу");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image12 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image12MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image12MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("11 – Збірник концентрованої соляної кислоти");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image13 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image13MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image13MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("12 – Компресор");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image14 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image14MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image14MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("15 – Фільтр");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image15 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image15MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image15MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("14 – Конденсатор");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image16 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image16MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image16MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("13 – Осушувачі");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image17 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image17MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image17MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("17 – Розріджувач лугу");

}

//---------------------------------------------------------------------------

Натискаємо на полі Image18 і у вікні інспектора об’єктів обираємо вкладку Events та в полі OnMouseMove подвійним натисканням кнопки мишки переходимо у редактор коду, де у функцію Image18MouseMove додаємо виконуємий оператор:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image18MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label1->Caption= ("6 – Повітряний холодильник");

}

//---------------------------------------------------------------------------

Крок 13. Натискаємо лівою кнопкою мишки у вікні форми на полі Image1 і у вікні інспектора об’єктів у полі Picture натискаємо на значок з трьома крапками. Кнопкою Clear видаляємо рисунок мнемосхеми технологічного процесу хімічного виробництва та натискаємо “ ОК ”.

Крок 14. Задаємо завантаження рисунка мнемосхеми в Image1 для фону основного вікна прикладної програми С++.

На вільному просторі форми (розміточній сітці) натискаємо лівою кнопкою мишки. У вікні інспектора об’єктів обираємо вкладку Events і подвійним натисканням мишки у списку на назві OnCreate переходимо у вікно редактора коду прикладної програми.

У шаблон функції FormCreate необхідно додати наступні тексти операторів, яки забезпечат завантаження рисунка мнемосхеми, як фону в компоненту Image1, та на формі Form1 поля від Image2 до Image18 стануть невидимими:

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Image1->Picture->LoadFromFile("Data/Main/Background.bmp");

Image2->Visible = false;

Image3->Visible = false;

Image4->Visible = false;

Image5->Visible = false;

Image6->Visible = false;

Image7->Visible = false;

Image8->Visible = false;

Image9->Visible = false;

Image10->Visible = false;

Image11->Visible = false;

Image12->Visible = false;

Image13->Visible = false;

Image14->Visible = false;

Image15->Visible = false;

Image16->Visible = false;

Image17->Visible = false;

Image18->Visible = false;

}

//---------------------------------------------------------------------------

Крок 15. Переходимо з вікна редактора коду на форму Form1 і натискаємо кнопку мишки на полі Image3.

У вікні інспектора об’єктів в полі Cursor обираємо для курсору назву crHandPoint. Далі обираємо вкладку Events і подвійним натисканням мишки на OnClick переходимо у вікно редактора коду, де у шаблон функції Image3Click додаємо текст з наступними строками:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image3Click(TObject *Sender)

{

Form3->Caption="Конструкція хлоратора";

Form3->Image1->Picture->LoadFromFile("Data/Device1/Device.bmp");

Form3->ShowModal();

}

//---------------------------------------------------------------------------

Крок 16. Переходимо на форму Form1 і натискаємо кнопку мишки на полі Image9.

У вікні інспектора об’єктів в полі Cursor обираємо для курсора назву crHandPoint. Далі обираємо вкладку Events і в полі OnClick подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у шаблон функції Image9Click додаємо текст з наступними строками:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image9Click(TObject *Sender)

{

Form3->Caption="Конструкція абсорбера";

Form3->Image1->Picture->LoadFromFile("Data/Device2/Device.bmp");

Form3->ShowModal();

}

//---------------------------------------------------------------------------

Крок 17. Переходимо на форму Form1 і натискаємо кнопку мишки на полі Image10.

У вікні інспектора об’єктів в полі Cursor обираємо для курсора назву crHandPoint. Далі обираємо вкладку Events і в полі OnClick подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у шаблон функції Image10Click додаємо текст з наступними строками:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image10Click(TObject *Sender)

{

Form3->Caption="Конструкція абсорбера";

Form3->Image1->Picture->LoadFromFile("Data/Device2/Device.bmp");

Form3->ShowModal();

}

//---------------------------------------------------------------------------

Крок 18. Переходимо на форму Form1 і натискаємо кнопку мишки на полі Image17.

У вікні інспектора об’єктів в полі Cursor обираємо для курсора назву crHandPoint. Далі обираємо вкладку Events і в полі OnClick подвійним натисканням кнопки мишки переходимо у вікно редактора коду, де у шаблон функції Image11Click додаємо текст з наступними строками:

//---------------------------------------------------------------------------

void __fastcall TForm1::Image17Click(TObject *Sender)

{

Form3->Caption="Конструкція розріджувача лугу";

Form3->Image1->Picture->LoadFromFile("Data/Device3/Device.bmp");

Form3->ShowModal();

}

//---------------------------------------------------------------------------

 

У функціях Image3Click, Image9Click, Image10Click і Image11Click оператори додані для відкриття вікна форми Form3 з відповідним рисунком схеми технологічного апарату, коли на мнемосхемі курсор мишки у вигляді значка crHandPoint буде встановленим на апарат “Хлоратор”, або на апарат “Абсорбер”, або на – “Розріджувач лугу”, яки позначени додатково на Form1 відповідними встановленими полями Image ( дивись крок 11 з пункту 5).

 



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 118; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.199.162 (0.129 с.)