Осымшадағы терезелердің және мәзірлердің жұмысын ұйымдастыру. Форма және мәзірлер
Әдістемелік нұсқаулар
Мәзірлер. Барлық Windows қосымшаларында қолданушы интерфейсінің элементі ретінде ең көп тараған элемент – мәзір. Мәзір – қосымшада орындалатын командаларды атқаратын қызметтеріне немесе т. б. белгілеріне қарай бір топқа біріктіріп тиімді пайдалану үшін қолданылады. Windows қосымшаларында қолданылатын мәзірлерді келесі түрлерге бөледі:
Жүйелік мәзір (SystemMenu) – бұл, Windows қосымшаларының барлығына тән мәзір түрі, сондықтан C++Builder-де қосымша құрғанда жүйелік мәзір форманың өзімен қоса анықталады. Жүйелік мәзірдің сурет-таңбасы, форманың тақырыптар зонасының сол жағында, ал ) оң жағында2 немесе 1 ,T, 0оның командаларына сәйкес сурет-таңбалар ( орналасады және оларды форманың BorderIcons (типі TBorderIcons) қасиетіндегі biSystemMenu (типі Boolean) мәнін false өзгерту арқылы алып тастауға болады.
Қосымшадағы негізгі мәзір (немесе оны бас мәзір, горизонталь мәзір деп те атайды) формаға MainMenu компонентінің көмегімен қойылады. Қосымшаның жекелеген элементтеріне арналып жасалатын контекстік мәзір (тышқанның оң жақ батырмасын басқанда пайда болатын мәзір) қосымшаға визуальдық емес PopupMenu компонентінің көмегімен енгізіледі.
Мәзір конструкторын пайдалану.C++Builder ортасында формаға қойылған мәзірдің пункттерімен жұмыс жасау үшін Мәзір конструкторын (Menu Designer) қолданады. Оны шақыру үшін формада орналасқан MainMenu немесе PopupMenu компоненттеріне екі рет шерту керек, я болмаса олардың Items қасиеті шақырылады /4.10-сурет/.
4.10- сурет. Мәзір дизайнерінің терезесі.
Жаттығу жұмыстары
Музыка тыңдауды және суреттер қарауды орындай алатын әмбебап қосымша құрыңыз. Қосымша төрт терезеден тұрады. /4.11-сурет(а,б,с,д)/
4.11-сурет. а) Унерверсал программа терезесі
4.11-сурет. б) Музыка терезесі
4.11-сурет. с) Суреттер терезесі
4.11-сурет. д) Анықтама терезесі
1.«Универсал - программа» /Form1/ терезедегі компоненттер қасиеттерінің және оқиғаларының мәндері:
Компоненттің аты | Қасиеттерінің мәндері, оқиғалары |
Form1 | Caption = 'Универсал-программа' |
МainMenu1 | N1: Caption = 'Тандау' N2: Caption = 'Музыка' OnClick = N2Click N3: Caption = 'Суреттер' OnClick = N3Click N4: Caption = 'Программа туралы' N5: Caption = 'Аныктама' OnClick = N5Click N6: Caption = 'Программадан шыгу' OnClick = N6Click |
Animate1 | Active = True FileName = 'D:\WINDOWS\clock.avi' |
«Универсал- программа» терезесінің unit1мәтіні:
#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{
Form3->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N6Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N5Click(TObject *Sender)
{
Form4->Show();
}
//---------------------------------------------------------------------------
2. «Музыка» /Form2/ терезедегі компоненттер қасиеттерінің және оқиғаларының мәндері:
Компоненттің аты | Қасиеттерінің мәндері, оқиғалары |
Form2 | Caption = 'Музыка' |
MainMenu1 | N1: Caption = 'Файл' N2: Caption = 'Ашу' OnClick = N2Click N3: Caption = 'Жyру' N4: Caption = 'Алга' OnClick = N4Click N5: Caption = 'Кейiн' OnClick = N5Click |
Label1 | Caption = 'Файл' Font.Height = -13 Font.Name = 'MS Sans Serif' Font.Style = [fsBold] |
MediaPlayer1 | System жапсырмасында орналасқан |
OpenDialog1 | Dialogs жапсырмасында орналасқан |
Edit1 | Text қасиеті тазаланады |
«Музыка» терезесінің unit2 мәтіні:
#include
#pragma hdrstop
#include "Unit2.h"
#include "Unit1.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::N2Click(TObject *Sender) // Файл ->
Ашу пунктінің коды
{
if (OpenDialog1->Execute())
{ Edit1->Text=OpenDialog1->FileName;
MediaPlayer1->FileName=OpenDialog1->FileName;
MediaPlayer1->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm2::N4Click(TObject *Sender)
{
Form3->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::N5Click(TObject *Sender)
{
Form1->Show();
}
//----------------------------------------------------------------------------
3. «Суреттер» /Form3/терезедегі компоненттер қасиеттерінің және оқиғаларының мәндері:
Компоненттің аты | Қасиеттерінің мәндері, оқиғалары |
Form3 | Caption = 'суреттер' |
MainMenu1 | N1: Caption = 'Файл' N2: Caption = 'Ашу' OnClick = N2Click N3: Caption = 'Жyру' N4: Caption = 'Кейін' OnClick = N4Click N5: Caption = 'Программадан шығу' OnClick = N5Click |
OpenPictureDialog1 | Dialogs жапсырмасында орналасқан |
Image1 | Stretch = True |
</n;j++)
</n;i++)
</n;j++)
</n;j++)
«Суреттер» терезесінің unit3 мәтіні:
#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::N4Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::N5Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::N2Click(TObject *Sender)
{
if (OpenPictureDialog1->Execute())
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}
4. «Аныктама» / Form4/ терезедегі компоненттер қасиеттерінің және оқиғаларының мәндері:
Компоненттің аты | Қасиеттерінің мәндері, оқиғалары |
Form4 | Caption = 'Анықтама' BorderIcons = [biSystemMenu] biSystemMenu =truebiMinimize=falsebiMaximize=falsebiHelp=false |
Label1 | Caption = 'Программа мәзірлермен (MainMenu жане PopupMenu компоненттери ) жумыс жасауды корсететин демонстрациялык програма болып табылады. Программада музыкалык файлдарды тындау ушин MediaPlayer, Image, OpenDialog, OpenPictureDialog компоненттери пайдаланылды.' WordWrap = True |
PopupMenu1 | Caption = 'Бул контекстик мәзір -PopupMenu' |
Button1 | Caption = 'КЕЙIН' PopupMenu = PopupMenu1 OnClick = Button1Click |
«Анықтама» терезесінің unit4 мәтіні:
#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm4::Button1Click(TObject *Sender)
{
Form1->Show();
}
//---------------------------------------------------------------------------
Өзіндік жұмыс тапсырмалары
Бір өлшемді массив элементтерін клавиатурадан енгізу немесе кездейсоқ сандармен толтыру қажет. Алынған элементтердің ең үлкені мен ең кішісін анықтап және олардың орналасу ретін табуға программа құру керек.
Формаға қойылған негізгі мәзірдің «Форма түсі» пункті арқылы форманы түрлі түске бояуды, «Мәзір пунктін басқару» арқылы пункттердің қасиеттерін өзгертуді және Label компонентінің контекстік мәзірінің пункті арқылы арқылы Label компонентіне мәтін жазуға программа құру қажет.
Берілген бір өлшемді массивтің элементтерінің қосындысын табу программасын құрыңыз /Нұсқау: массивті енгізуде MainMenu, қосынды табуда PopupMenu компонетін пайдаланыңыз/.
Ақша айырбастау пунктіндегі таблонның жұмысын мәзірлер арқылы программалаңыз.
Бағдаршамның жұмысын түсіндіруді мәзірлерді пайдаланып программалаңыз.
Келушінің сұранысына қарай асхана мәзірінен ақпарат беретін программа құрыңыз.
Қолданушының таңдауы бойынша жазықтық фигуралардың /үшбұрыш, төртбұрыш, трапеция және т. б./ периметрі мен ауданын есептейтін программа құрыңыз. Мәзірлерді пайдаланыңыз.
Бір өлшем бірлігінен басқа өлшем бірлігіне көшіруді программалау (мысалы, метрді сантиметрге, килограммды тоннаға немесе т. б.). Ескі өлшем бірліктерін және қазіргі өлшем бірліктерін пайдаланыңыз.
Сандық массивті толтыратын және сұрыптайтын және т.б. амалдарды орындайтын программаны мәзірлер көмегімен жазыңыз.
Memo компонентіндегі мәтінді сақтайтын және форматтауды /шрифтіні өзгерту, түстерін өзгерту/ мәзірлер арқылы орындайтын программа құрыңыз.