Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Tscrollstyle – Scroll Bars



- SSNone – айналдыру жолағы болмайды (үнсіз жолақ)

- SSHorizontal – көлденең айдандыру жолағы

- SSVertical – тік айналдыру жолағы

- SSBoth – горизонтальды және вертикальды жылжыту жолағы пайда болады.

Бір жолды редактордан Memoкомпонентінің ерекшелігі Memo – Enter – клавишасын басуға реакция береді, яғни бұл жағдайда жаңа жолды енгізуді орындау үшін

Boolean -типтіWantrefurnsқасиетіне True мәні меншіктелуі керек.

Көп жолды редактор RichEDIT – WIN32

Ақпаратты редактрлеуге арналған үшін барлық компоненттер бір-біріне ұқсас болады. Өстіп жалпы әдістерге оқиғаоарға, қасиеттерге ие болады. Редактрдің мазмұнын өзгерту кезінде

TNotifEvent –типтіOnChangоқиғасы пайда болады.

Сонымен қатар редактордың мәліметтерін өзгертү үшін

Boolean -типтіModrfildқасиетті бар. Өзгеріс енгізілсе ол True мәнін қабылдайды.

Редактрлеу элементінде максималды қанша символ енгізуге рұқсатты, қамтамасыз ету үшін.

Integer –типтіMaxlengthқасиеті бар.

Seltext,Autoselect, Selstart,Selength – қасиеттері мәтінін ерекшеленген жеке бөліктерінен жұмыс жасауға мүмкіндік жасайды.

Boolean -типті Autoselectқасиеті мәтін енгізу фоксын қабылдаған кезеңде,редактрлау элементтерінің мәні автоматты түрде ерекшелетінін анықтайды.

String - типті seltext –қасиеті ерекшеленген мәтін бөлігін анықтайды.

Integer –типтіsellengthжәне бастапқы позициясын және ерекшеленген бөліктің ұзындығын анықтайды.

Егер де бөлігі программалық түрде ерекшеленетін болса, мысалы: х жолды іздеу жағдайда ол қандай да бір түспен ерекшеленуі керек болса онда

Boolean –типтіHideSelectionқасиетіне False мәнін орнату қажет.

Мәтіннің ерекшеленген бөліктерімен амалдар орындау үшін

Select All, CopyToClipBoard;

CutToClipBoard әдістер қолданады

SelectAll -әдісі редактрлеу өрісіндегі барлық мәтінді ерекшелейді.

CopyToClipBoard -әдістерді алмастыру буферіне мәтіннің ерекшеленген бөлігін көшіреді, ал CutToCipBoardәдісі.

Алмастыру буферімен жұмыс жасау үшін

PasteFromClipBoard- әдісін пайдаланамыз. Ол алмастыру буферіндегі мәтіннің бөлігін курсор тұрған қажетті орынға қояды.

Редакрлеу элементіне енгізілген мәтінді тексеру үшін OnExit – оқиғасын пайдалануға болады.

 

Дәріс №6. Батырмалармен және ауыстырыпқосқыштармен жұмыс

Жоспар:Стандартты батырма. Суретті батырма. Жылдам рұқсат алу батырмасы. Жалауша. Ауыстырыпқосқыш.

 

Кілттік сөздер: Батырмалар. Button, BitBtn, SpidButton, CheckBox, RadioButton.

Иллюстрациялық материал:слайд

Батырмалар басқару элементтері болып табылады және қандай да бір функционалдық іс-әрекетті орындауға команда беру үшін қызмет етеді, сондықтан оларды көп жағжайда командалық батырмалар деп атайды. Батырма үстінде мәтін және/немесе графикалық бейне болуы мүмкін. Дельфи жүйесі батырмалардың келесі түрлерін ұсынады: Button – стандартты батырма, BіtBtn-суретті батырма, SpeedButton-жылдам рұқсат алу батырмасы.

Стандартты батырманың үстінде тек жазба ғана болады. Батырманың негізгі оқиғасы – OnClick оқиғасы.

BіtBtnбатырмасы - суреті бар және анықталған типті әрекет жасайтын батырма. Батырмаларға арналған суреттері бар файлдардың стандартты жиынтығы C:\ProgramFіles\Borland\Delphіx.0\Іmages\Buttons бумасында орналасқан. Бұл объектіге мынандай жаңа қасиеттер тән: Glyph– файлдан алынған батырмадағы сурет; Kіnd– стандарты әрекет типі.

SpeedButtonбатырмасын саймандар тақтасында батырма құру үшін қолданады. Объектінің келесідей қасиеттерін қарастырайық: Margin – сурет пен оған жақын тұрған батырманың арасындағы пиксельмен берілген арақашықтық; Layout – батырмадағы сурет пен мәтіннің орналасуы; Spacing – мәтін мен сурет арасындағы пиксельмен берілген арақашықтық.

Берілген бір топ ауыстырып қосқыштардың барлық мәндердің ішінен біреуін ғана таңдауға болады. Ол таңдалған және таңдалмаған күйде болуы мүмкін. Топта бір мезгілде ауыстырып қосқыштың біреуін ғана таңдауға болады. Топта жеке бір ауыстырып қосқыш қолданбайды.

Жалауша(тәуелсіз ауыстырып қосқыш)

Жалаушалардың ауыстырып қосқыштан айырмашылығы, жалаушаларды бір мезгілде әр түрлі комбинацияларда қоюға болады. (Осындай жағдайларда барлық жалаушаларды орнатуға немесе алып тастауға болады.) Жалауша орнатылған және алынып тасталған күйде болуы мүмкін. Жеке жалауша көбінесе жағдайда , мысалға қандайда бір режимді қосуға өшіруге қолданылады.

Ауыстырып қосқыш пен жалаушалардың анализ күйі программистерге өзіне керекті операцияларды оындауға керек.

ChekBox, RadioButton және RadioGroup компоненттері Delphiжүйесінде ауыстырып қосқыш пен жұмыс жасауға мүмкіндік береді. ChekBox пен RadioButton компоненттер класы және де Button батырмасы сияқты, TbuttonControl класынана шыққан. Сондықтан осы ауыстырып қосқыштарды кейде фиксациалды батырма деп атайды.

ChekBox- тәуелсіз фиксация, RadioGroup- тәуелді.

Жалауша ChekBox компонентімен ұсынылады. Жалауша басқа жалаушалардың тәуелсіз орындалады, оларды бір топқп қосып, ортақ

 

 

бір атпен тұрғанына қарамастан, мысалға, Code generation және Syntax options. Жалауша мәтіндік тақырыпша мен тікбұрыш болып көрінеді. Егер тікбұрышта қанат белгісі болатын болса, онда ол жалаушамен көрсетілген опциясы қосылған ( осындай жағдайда жалауша белгіленген деп атайды). Егер тікбұрыш болса, онда жалауша алынып тасталған. Бір жалаушамен жасалған іс- әрекеттер басқа жалаушалардың күйіне әсер етпейді, егер ол арнайы қарастырылған болмаса, бұл практикада тым сирек қолданылады.

Boolean типі Checked жалаушының күйін анықтауға болады. Үнсіз жағдайда ол False мәнін қабылдайды, жалауша алынып тасталған.

Тышқанды шерту арқылы жалаушаның күйін ауыстыруға болады. Егер жлауша алынып тасталған болса (қосылмаған), онда шерткеннен кейін ол орнатылады (қосылған), және керісінше. Содан кейін Checked мәні өзгертіледі. Жалаушаны <пробел> батырмасы арқылы өшіруге болады. ChekBox компоненті фокс кірісінде болса, ал тақырып қара пунктілі тікбұрышпен қоршалған.

Мысалы

If CheckBox1.Checked then

MessageDlg (‘уақыт ақталды’,mtError,[mb0k],0);

 

Уақыт аяқталды! Хабарландырылуы ChekBox жалаушасы қосылып тұрған кезінде беріледі. Берілген уақыттың аяқталуын хабарлайтын реттеуіш.

Жалаушаны Checked-пен керекті мәнді қоюға болады.

 

ChekBox2.Checked:=True;

ChekBox3.Checked:=False;

 

Жалаушаны өзгертуге болмайтындай қалдыру үшін Enabled мәнін False қылдырып орнату керек(қорғаныс қою).

 

CheckBox1.Enabled:=False;

 

Қорғанысқа қойғаннан кейін оның мәні қорғанысқа дейінгі күйін сақтайды, яғни осы жалауша орнатылған немесе алып тасталған күйде болуы мүмкін.

Орнатылған немесе алып тасталған екі күйден басқа, жалауша үшінші күйдеде болуы мүмкін жалаушаның күйін өзгертуге болмайды. Бұл күйдің болуы немесе болмауы Boolean типті AllowGrayed қасиеті басқарады. Егер оның мәні True болса, онда тышқанның батырмасын шерткен кезде жалаушаның үш күйдің арасындағы циклдық ауысу өтеді: орнатылған, алынып тасталған және өзгертуге болмайтын. Өзгертуге болмайтын жағдайда жалаушаның түсі сұр болады, ал тік бұрышта қанат белгісі болады.

TCheckBoxState типі State жалаушаның анализбен орнатудың үш күйінің бір мәнін атқарады. Ол келесі мәндерді қолданады:

cbChecked (жалауша қосылмаған)

cbGrayed (жалауша қосылған)

cbUnchecked (жалаушаға қатынас алмаймыз).

Жалаушаның мәнін өзгерткен кезде OnClick оқиғасы пайда болады, қандай күйге өтседе ол тәуелсіз болады. Кейде OnClick оқиғасы жалаушаның күйімен орындалып жатқан іс- әрекеттің қадағалайды. Мысалы ретін жалауша күйін таңдайтын процедураны келтіреміз.

Procedure TForm1.CheckBox3Click(Sender:TObject);

Begin

Case CheckBox3.State of

cbUnchecked:CheckBox3:=’жалаушаға қосылмаған’

cbChecked: CheckBox3:= ‘жалауша қосылған’

cbGrayed: CheckBox3: ‘жалаушаға қатынас алмаймыз’

end;

end.

CheckBox3 жалаушасы ауыстырып қосқанда өзінің күйін бейнелейді.

 

Ауыстырып қосқыш.

Ауыстырып қосқыш RadioButton компонентімен ұсынылады. Сәйкесінше басқару элементі мәтіннің тақырыпшасы шеңбер түрінде белгіленеді. (таңдалған жағдайда бұл шеңбердің ішінде қара нүкте пайда болады).

Ауыстырып қосқыштар негізінен визуалды формада бөлінген топтар бойынша орналасады. Ауыстырып қосқышты таңдаған кезде тәуелді қосқыш болады, яғни бір ауыстырып қосқышты таңдаған кезде, басқалары таңдалмаған болып келеді. Delphi ауыстырып қосқыштың автоматты топтарын қолдайды. Контейнерге енген әр ауыстырып қосқыш соның ішінде

топқа енеді. Форма Form, панель Panel, топ GroupBox және айналым аумағы (область прокрутки)ScrollBox осы компоненттер контейнерлер болып табылады.

Проектілеу формасын жасаған кезде немесе қосымша процесінде және топпен жұмыс жасаған кезде бір ауыстырып қосқышын үнсіз жағдайда таңдау керек. Мысалы суреттегі көрсетілген форманы былай жасауға болады.

Procedure TForm1.Formcreate (Sender:TObject);

//Барлық ауыстырып қосқыштар әр топқа орналасқан

Begin

RadioButton2.Checked:=True;

RadioButton4.Checked:=True;

RadioButton6.Checked:=True;

RadioButton10.Checked:=True;

End;

Топтан бір ауыстырып қосқышты таңдағанда жалаушаға қарағанда оның күйін қайта шерту арқылы өзгерте алмаймыз. Таңдалған ауыстырып қосқыштар алып тастау үшін сол топтан басқұа ауыстырып қосқышты белгілеуіміз керек.

Алдыңғы қарастырғандай элементтер мен контейнерлардағы ауыстырып қосқыштағы топқа қосаты Delphi – дағы арнайы компонент RadioGroup, RadioButton ауыстырып қосқыштар тобынан ұсынған. RadioGroup тобының ауыстырып қосқыштары басқа да басқару элементтер түрлерін қабылдайды. Мысалы: CheckBox жалаушасы немесе бір жолдық редактор Edit.

Ауыстырып қосқыштың басқару саны мен аттарын, Tstring типі Items мәнінің көмегімен шығарылады, яғни топтағы әр ауыстырып қосқышқа кіруге болатындай жасайды. Массивте есептік жол 0 басталады: Items[0], Items[1] және т.б. Add мен Delete арқылы жолдарды монипуляциялауға мүмкіндік береді.

Integer типі ItemIndex мәні арқылы әр ауыстырып қосқышқа рұқсат алуға болады. Топтағы осы уақытта таңдаулы ауысмтырып қосқыштың номері беріледі. Осы күй таңдаулы ауыстырып қосқышқа немесе анықтауға қойылады. Үнсіз жағдайда ItemIndex мәні бір болады.

Integer типі Columns бағана санын береді, топта ауыстырып қосқыштар қанша бағанадан тұратынын көрсетеді. Бұл мән топтар массивінде орналасқан ауыстырып қосқыштарға ғана қолданылады және басқа басқару элементтеріне қолданылмайды.

 

 

Дәріс №7. Басқару элементтерін біріктіру

Жоспар:Панель. Айналдыру аймағы. Фрейм.

 

Кілттік сөздер: GroupBox, Panel, ScrollBox, Frame

Иллюстрациялық материал:слайд

Қосымшаны өңдеу кезінде әр түрлі злементтерді біріктірудің немесе топтаудың қиыншылықтары жиі туындайды. Топтау, қосқыштарымен жұмыс жасағанда немесе саймандар тақтасын құрғанда қажет болады. Элементтерді біріктіру арнайы контейнер компоненттерінің көмегімен орындалады. Контейнер дегеніміз- бетінде басқа компоненттер орналастыруға болатын визуалды компонент. Контейнер осы компоненттерді топтарға біріктіріп, олардың иесі болады. Сондай-ақ, иелері өзінің тұқымдық элементтерінің түрлеріне жауап береді. Тұқымдық элемент иесіне PARENT қасиеті арқылы сілтенеді.

Әр түрлі объектілер үшін Delphi жүйесі мынандай компоненттерден тұратын әмбебап контейнер ұсынады.

· Group Box тобы;

· Panel- панель;

· Scroll Box- айналдыру аймағы;

· Frame- фрейм (рамка);

Форма, қосымшаның интерфейсті бөлігін құрастыру контейнері болып табылатынын ескертейік. Форма- өзінің жатқан барлық компонеттердің иесі болып табылады.

 

Топ

Топ- функционалды байланысқан басқару элементтерін визуалды белгілеуге қолданылады. Топпен жұмыс жасау үшін Delphi Group Box компонетін ұсынады. Ол компонентің сол жақ жоғарғы бұрышында, өзіндегі басқарудың біріктірілген элементтерінен тұратын тақырыпшадан тұрады.

Панель

Панель- басқарудың басқа элементтерін орналастыруға болатын контейнер. Панельдер, топтаудың виэуалды құралы ретінде, сондай-ақ саймандар тақтасы мен қалыпкүй жолдарын жасауға қолданылады. Панельдермен жұмыс жасау үшін Delphi-де Panel компоненті тағайындалған.

Панельдің қыры екі жүзді: ішкі және сыртқы. Ішкі жүз панельді көмкереді (обрамляется), ал сыртқы- ішкінің айналасында көрінеді.

Әр жүздің ені TbewlWidth типті BewWidth қасиетінде пиксельдермен беріледі. TbewlWidth типінің мәні бүтін сан болып табылады(TbewlWidth=1. . MaxInt). Үнсіз келісім бойынша жүздің ені 1-ге тең. TpanelBevel типі BevelInner және BeverOuter қасиеттері ішкі және сыртқы жүздердің түрлерін сәйкесінше анықтайды. Қасиеттердің әрқайсысы келесі мағыналарды қабылдай алады:

· bvNone (жүзі жоқ)

· bvLowered (жүзі батырыңқы)

· bvRaised (жүзі көтеріңкі)

· bvSpace (іс әрекет белгісіз)

 

Үнсіз келісім бойынша BevelInner қасиеті bvNone мағынасына ие, ал BevelOuter қасиеті bvRaised мағынасына ие.

Жүздер арасында неі TBorderWidth типі BorderWidth қасиетінде пиксельмен анықталатын арақашықтық болуы мүмкін. Үнсіз келісім бойынша арақашықтық 0-ге тең (арақашықтық жоқ).

 

 

10.1-кесте. Панельдердің қасиеттерінің мағынасы

 

Панель BevelInner BevelOuter BevelWidth BorderWidth
Panel1 bvNone bvRaised
Panel2 bvNone bvRaised
Panel3 bvLowered bvRaised
Panel4 bvNone bvLowered
Panel5 bvNone bvLowered
Panel6 bvRaised bvLowered
Panel7 bvRaised bvRaised
Panel8 bvLowered bvLowered
Panel9 bvLowered bvRaised

 

Панельдің тақырыпшасын орналастыруды басқару, келесі мәндерді қабылдай алатын TAlignment типті Alignment қасиетімен орындалады:

· taLeftJustify (сол жақ шетпен түзету);

· taCenter (ортамен түзету)- үнсіз келісім бойынша;

Айналдыру аймағы

Айналдыру аймағы-ақпаратты жылжыту мүмкіншілігі бар терезе болып табылады. Оның ішінде басқарудың баска элементтері орналасады. Delphi-де жылжыту облысы болып ScrollBox табылады.

ScrollBox компоненті басқару элементі болып табылады. Оның беті қолданушы көріп отырған бөліктен де үлкен болуы мүмкін. Егер ScrollBox компонентіндегі кез келген элемент толығымен көрінбесе, жылжыту жолағы автоматты түрде шығуы мүмкін: горизонталь(11.1-сол жақ сурет(тік немесе екеуі де бір уақытта. Егер облыс өлшемі үлкейсе, онда жылжыту жолағы автоматты түрде өшуі мүмкін(11.1-оң жақ сурет).

 

 

 

10.1-сурет. ScrollBox компоненттері

 

ScrollBox компонентін форманың саймандар тақтасы немесе қалыпкүй қатары болғанда қолданған ыңғайлы. Егер басқарудың барлық элементтері терезеде толығымен көрінбесе, ол терезеде жылжыту жолағы болуы мүмкін. Бірақ жылжытудың горизонталь жолағын қолданғанда саймандар тақтасы немесе қалыпкүй қатары формада көрінбейді.

Жобалау кезінде формаға ScrollBox компонентін орнатып, оның Align қасиетіне AllClient мағынасын қойсақ, бұндай жағдай болмайды. Сол кезде жылжыту жолағы саймандар тақтасымен қалыпкүй қатарынан басқа форманың барлық орнын алып қояды.

Одан кейін оған басқарудың басқа элементтерін қоюға болады. Енді жылжыту жолағы пайда болса, олар ScrollBox компонентіне жатып, басқарудың барлық элементтеріне кіруді қамтамасыз етеді. Сол уақытта жылжыту жолағынан жоғары және төмен орналасқан саймандар тақтасымен қалыпкүй қатары операцияға дайын тұрады.

Boolean типінің AutoScroll қасиеті жылжыту жолағы қажет кезде автоматты түрде пайда болуын анықтайды. Үнсіз келісім бойынша қасиеттің мәні True мағынасына ие, және облыс өз жылжыту жолағын өзі басқарады. Егер AutoScholl қасиетіне false мағынасы қойылса, онда программалаушы TcontrolScrollBar типті HorzScrollBar және VertScrollBar қасиеттерін басқара отырып, жылжыту жолағын өзі қою керек. Жылжыту жолақтарымен жұмыс ScrollBar және TrackBar компоненттері жұмысына ұқсас.

Жылжыту жолағында рамка болуы мүмкін. Рамканың барын екі мүмкін мән қабылдай алатын TBorderStyle типті BorderStyle қасиеті анықтайды:

▪ bsNone(рамка бар);

▪bsSingle(рамка жоқ)-үнсіз күйде.

Жылжыту жолағының программалық басқаруын ScrollInView әдісі атқарады. ScrollInView (Acontrol; Tcontrol) процедурасы Acontrol параметірімен берілген интерфейс элементі толығымен көрініп тұратындай етіп, жылжыту жолағын автоматты түрде өзгертеді. Мысалы, процедуранының орындалуы кезінде

Procedure TForm1.Button1Click(Sender:TObject);

begin

ScrollBox1.ScrollIn View(Button3);

end;

Button3 батырмасы ScrollBox компонентінің облысында көрінетін болады.

 

Фрейм

Фрейм (рамка, фрейм)- өңдеу кезеңінде форма сияқты жасалатын басқа компоненттерге арналған контейнер болып табылады. Бірақ ол формаға қарағанда басқа контейнерге орналаса алады, мысалы, формаға немесе тақтаға. Delphi-де фреймдермен жұмыс жасау үшін Frame компоненті қызмет етеді.

Фрейдермен жұмыс жасау 2 кезеңнен тұрады:

▪ фреймді жасау және құрастыру;

▪жасалған фреймді форманың немесе тақтаның керекті орнына орналастыру.

Фреймді жасау File/New/Frame (файл/новый/фрейм) командасымен орындалады, осының нәтижесінде жоба құрамына жаңа фрейм қосылады. 2-суретте жобаға фрейм қосқаннан кейін қосқыштар тобымен батырма орналасқаны көрсетіледі.

Формада фреймнің орнын ауыстыру үшін компоненттер политрасына Frame компонентін тфңдап, оны қажетті орынға қоямыз. Компонентті жіберген кезде фрейм аты таңдалып Select Frame to insert (қоспа фреймді таңдап ал) диалогті терезесі шығады. OK батырмасын басқаннан кейін, таңдалған фрейм көрсетілген орынға қойылады. Осы кезде фреймнің түрі өзгереді: онда формаға тән рамка мен тақырыпша жоғалып кетеді. Бірақ онда орналасқан компоненттер өзгермейді.

Фреймді орналастырғаннан кейін, формада uses бөліміне автоматты түрде фрейм модуліне сілтеме қосылады, ал форманың класының сипатына фреймді және оның компоненттерінің оқиғаларын өңдеушілерге сілтеме қосымша қосылады.

Қандай да бір фреймді жиі қолдана берсек, оны компонеттер политрасына орналастырып қойсақ болады. Ол үшін фреймді құрғаннан кейін, оны белгілеп, мына команданы орындау керек: Create Component Template (компонент шаблоны құр) меню Component (компонент), ол Component Template Information (компонент шаблоны туралы ақпарат).

OK барырмасын басқаннан кейін фрейм Palette page (политра парағы) тізімінде таңдалған параққа Component name (компонент аты) өрісінде берілген атпен, Palette Icon (политра белгісі) облысында көрініп тұрған белгімен орналасады. Белгісін ауыстыру үшін Change (өзгерту) батырмасын басып, ашылған диалогті терезеде dmp кеңейтілімімен графикалық файлды таңдау керек. Компоненттер политрасына орналастырғаннан кейін, фрейммен басқа да стандартты компоненттер стяқты жұмыс істеуге болады, мысалы, мысалы тақтамен немесе топпен.

Фреймнің контекстік менюіндегі Add To Repsitory (объектілер қоймасына сақта) командасымен біратты диалогті терезені ашып, фреймді объектілер қоймасына сақтауға болады.

Фреймді қосар алдында келесі өрістердегі мәліметтерді көрсету керек:

▪ Forms тізімі (қосылатын фреймнің аты);

▪Title өрісі (фреймнің объектілер қоймасындағы аты);

▪Description (фрейм сипаттамасы);

▪Page (фрейм орналасатын бет);

▪Author (фреімді өңдеуші туралы ақпарат).

Үнсіз келісім бойынша фреймнің белгісін өзгнрту үшін, Browse (қарап шығу) батырмасын басып, ашылған диалогті терезеде ico кеңейтілімімен файлды таңдау керек. OK батырмасын басқаннан кейін, фрейм объектілер қоймасына қосылады.

Осындай жолмен объектілер қоймасына форма да қосылады.

Дәріс №8. Форманың сипаттамалары. Формалардың өзара әрекетін ұйымдастыру.

Жоспар

1) Формалар сипаттамасы. Қасиеттер. Әдістер. Оқиғалар.

2) Формалардың өзара әрекеттестігін ұйымдастыру

3) Формалар түрлері. Модальді формалар

 

Кілттік сөздер: модальды форма, модальды емес форма

Иллюстрациялық материал:слайд

 

Форма маңызды визуалды компонент болып табылады және кез келген қосымшаның орталық бөлігі. Форма TForm класты Form компонентімен беріледі.

Кез келген визуалды компонент сияқты форма әдістен, қасиеттен және оғиғадан тұрады. Мысалы: Форма Color және Enabled деген қасиеттен OnKeyPressed оқиғасы болады. Барлық компоненттер үшін жалпы болып табылатын қасиеттер мен әдістерден оқиғалары басқа өзіне ғана тән қасиеттері болады. Олардың бір бөлігі форманы қосымшаның негізгі объектісі ретінде анықталады. Мысалы: BorderІcons қасиеті негізгі болып табылады. Ал басқа бөлігі басқа компоненттер орналасқан контейнер ретінде пайдаланылады. Мысалы: AutoScroll, ActіveControl қасиеттерімен сипатталады.

Форма модальды және модальды емес болып екіге бөлінеді. Модальды емес форма қосымшаның басқа формасына өзін жаппай-ақ өтуге мүмкіндік жасайды, ал модальды форма басқа формаға ауысу үшін алдымен оны жабуды қажет етеді.

Формалар әртүрлі хабарламалармен пайдаланушыға қандай да бір ақпарат енгізуге арналады.

Wіndows-та қосымшаны негізгі екі типі бар:

– бір құжатты немесе SDІ

– көп құжатты немесе оны MDІ дейді.

Бір құжатты қосымша бір-бірінен өзара тәуелсіз бір немесе бірнеше формалардан тұрады. Ал көп құжатты қосымшада негізгі терезе болады және ол оның шегінде орналасатын ішкі терезелерден тұрады.

Формалардың экземплярын құру үшін Create әдісі қызмет етеді. Create конструкторы формалар класының экземплярын құрады. Ал формалар класының өзі әдетте қосымшаны конструкциялауды сипаттайды және сәйкесінше форма үшін формалар файлы DFM және программалық модульдар файлы PAS бар болады.

Форманы құру және оны пайдалану кезінде TnotіfyEvent типіндегі пайда болу ретімен берілген келесі оқиғалар орындалады:

- On Create - құру;

- On Show – бейнелеу;

- On ReSіze – өлшемін анықтау ;

- On Actіvate –активтілігі ;

- On Paіnt – сурет ;

On Create оғиғасы форманы құру кезінде бір рет пайда болады, ал

қалған оқиғалар форманы бейнелеуде, яғни оны активтендіру және қайта суреттеу кезінде әр кезде орындалып отырады.

Delphі жүйесі құрылған барлық формалардың ішінен қосымшаны орындауда негізгі форманы көрінетіндей етеді.Ол үшін осы форманың Vіsіble қасиетіне true мәні қойылады. Ал басқа формалар үшін келісім бойынша false тең. Форманы бейнелеу және бұғуды Vіsіble қасиетін басқара отырып орындауға болады.

Форманың көрінетіндігін басқаруды басқа тәсілмен Show және Hіde әдістерін пайдалана отырып, орындауға болады. Show процедурасы модальды емес режимде форманы бейнелейді. Сонымен қатар мұнда Vіsіble қасиетіне true мәнін орнату қажет. Hіde процедурасы форманы бұғады және Vіsіble қасиетіне false мәнін орнату керек Форманы бейнелеу кезінде Vіsіble қасиетінің мәні true болады және оның Show оқиғасы пайда болады. Ал бұғу кезінде Vіsіble қасиетінің мәні false болады және OnHіde оқиғасы пайда болады.

Әр кезде форма облысында тышқан кнопкасын басқан кезде оны активтендіру орындалады және OnActіvate оғиғасы пайда болады. Ал егер де форманың шегінен шығып кететін болса, онда OnDeActіvate оқиғасы пайда болады. Ал OnPaіnt оғиғасы форманы қайта суреттеу кезінде пайда болады.

Форманы жабу үшін Close әдісі пайдаланады. Негізгі форманы жабу кезінде барлық қосымшалармен жұмыс тоқталады

Форманы жою үшін Release, Free, Destroy оқиғалары пайдаланылады . Бұл кезде формамен жұмыс жасау мүмкін емес. Форманы жоюдың ең тиімді әдісі Free болып табылады.

Форманы жабу және жою кезінде пайда болу ретімен келесі оғиғалар пайда болады:

–OnCloseQuery

–OnClose

–OnDeActіvate

–OnHіde

–OnDіstroy

Әдетте ол форманы жабу кезінде форманың стандартты күйін өзгерту үшін пайдаланады.Ол үшін өңдеушілеріне TcloseActіon типіндегі Actіon айнымалысы беріледі және ол келесі мәндердің бірін қабылдайды :

 

CaNone форманы жабу мүмкін емес;
CaHіde форма көрінбейтін түрге келеді ;
CaFree форма жойылады, онымен байланысқан жад тазаланады;
CaMіnіMіze форманың терезесі минималды түрге кішірейеді.

 

Форманың стилі TformStyle типіндегі FormStyle қасиетімен анықталады , ол келесі мәндердің бірін қабылдайды :

 

–fsNormal – стандартты стиль, көптеген терезелер, соның ішінде диалогты терезелер үшін пайдаланады;

–fsMDІChіld – көп құжатты қосымшадағы ішкі форма;

–fsMDІForm – көп құжатты қосымшадағы аталық форма (родительский);

–fsStayOnTop – жүктелгеннен кейін басқа формаға орналасатын форма. Әдетте бұл жүйелік ақпаратты шығару немесе заставка үшін пайдаланады. Сәйкес пункт менюін таңдау кезінде программаны орындау барысында форма өзінің стилін өзгертуі мүмкін Жиектердің түрін және өзгерісін TformBorderStyle типіндегі BorderStyle қасиеті анықтайды. Ол келесі мәндердің бірін қабылдауы мүмкін :

–bsDіaly-диалогтік форма;

–bsSіngle-өзгермейтін өлшемдегі форма;

–bsNone-формада көрінетін жиек болмайды және өзінің өлшемдерін өзгерте алмайды;

–bsSіzeAble- өлшемдерін өзгертетін қарапайым форма және кез келген кнопкалар жиынын қамтуы мүмкін .

–bsToolWіndows-құрал-саймандар формасы;

–bsSіzeToolWіn-өлшемдерін өзгертетін құрал саймандар формасы.

Тақырып облысында кнопканың 4 түрі белгіленуі мүмкін. Мүмкін болатын кнопкалар жиынтығын TborderІcons типіндегі BorderІcons қасиеті анықтайды. Ол келесі мәндер жиынын қабылдауы мүмкін :

– bіSystemMenu-осы қасиетті орнатқан кезде терезе жүйелік меню кнопкаларынан тұрады;

– bіMіnіmіze-терезе минимизация кнопкаларынан тұрады, яғни жиналады;

– bіMaxіmіze-терезе максимизиция кнопкаларынан тұрады, яғни ашылады;

– bіHelp-сұрақ белгісін бейнелейтін және анықтама шақыратын анықтама кнопкасынан тұрады.

Жүйелік меню Wіndows терезелерінің барлық жалпы командалар жиынтығын білдіреді. Мысалы: терезені ашу, жинау және жабу .

BorderІcons қасиетінің әр алуанмәндері бір-бірінен тәуелді болады, бұл дегеніміз жүйелік меню жоқ болса, онда бір де бір кнопка бейнеленбейді.

Форма клиенттік және клиенттік емес облыстан тұрады. Клиенттік емес облысқа жиек , тақырып және негізгі меню жолы орналасады. Клиенттік облыста әдетте әр алуан басқару элементтері, яғни текст шығару және графиктік бейнелеу орналасады. Сәйкесінше Wіdth және Heіght қасиеттері форманың өлшемдерін анықтайды , ал іnteger типіндегі ClіentWіdth және ClіentHeіght форманың клиенттік бөлігінің кеңдігі мен биіктігін анықтайды. Boolean типіндегі Actіve қасиеті форманың активтілігін анықтауға мүмкіндік жасайды. Twіndows State типіндегі WіndowState қасиеті форманы бейнелеу күйін анықтайды және ол келесі үш мәндердің бірін қабылдайды :

-WsNormal-қарапайым күй;

-WsMіnіmіzed-минимизация;

-WsMaxіmіzed-максимизация.

Boolean типіндегі KeyPrevіew қасиеті оны басқару элементтері өңделместен бұрын клавиатура оқиғасын өңдейтігін анықтайды. Егер де бұл қасиеттің мәні False болатын болса , онда клавиатуралық оғиға басқарудың активті элементіне түседі, ал бұл қасиеттің True мәнінде форма бірінші кезекте клавиатураны басу хабарламасын алады.

Формада орналасқан интерфейсті компоненттер толығымен көрініп тұру үшін оның өлшемін өзгертуге болады. Егер де компоненттер формада көрінбей тұрса, онда автоматты түрде жылжыту жолағы пайда болады. Boolean типіндегі AutoScroll қасиетіжылжыту жолағын автоматты түрде пайда болуын анықтайды. Егер де AutoScroll true болса, онда жылжыту жолағы пайда болып, автоматты түрде жоғалып кетеді. Егер де программист AutoScroll қасиетіне false мәнін қоятын болса, онда ақпаратты қарауды горизонтальды немесе вертикальды жылжыта отырып, мәселені шешуге болады.

Жылжыту жолағын программалы түрде басқару үшін ScrollІnVіew әдісін пайдалануға болады. ScrollІnVіew(Acontrol: Tcontrol) процедурасы Acontrol параметрімен берілген басқару элементі бейнеленетін облыста элементі көрінетіндей етіп, жылжыту жолағын автоматты түрде өзгертеді.

Boolean типіндегі KeyPreVіew қасиеті форманың басқару элементін өңдеместен бұрын форма клавиатура оқиғасын өңдейтінін анықтайды. Егер де қасиет false мәніне тең болса, онда клавиатуралық оғиғалар басқарудың алфавиттік элементіне келіп түседі. Егер де қасиеттің мәні true-ға тең болса, онда клавиатураны басу хабарламасы шығады Формада бірнеше әдістер мен қасиеттер бар. Мысалы: көп көпқұжатты қосымшаларды ұйымдастыруға арналған MDІChіldCount қасиеті және CanCade әдісі.

Егер де бір форма басқа формамен әрекеттер орындаса , онда бірінші форма модулінің немесе модуль кодының (Unіt1) іmplementatіon , бөлігінің Uses тізімінде екінші форма модуліне сілтеме болу керек. Басқа форманың модуліне сілтемені программалық түрде де орнатуға болады, бірақ та Delphі-де автоматты түрде сілтемені орнату мүмкін болады. Ол келесі түрде болады Fіle/UseUnіt (Файл/Модульді пайдалану…) командасын орындағанда UseUnіt диалогты терезесі пайда болады. Мұнда қажетті модульді таңдап Ок басқанда, оған сілтеме автоматты түрде қосылады.

Форма әртүрлі операцияларды тек басқа формамен орындап қоймай сонымен бірге оның басқа компоненттерімен орындалады.

Модальды форма – деп қосымшаның кез келген басқа формасына өту кезінде жабылуы керек форманы айтамыз. Егер де пайдаланушы кезектегі модальды форманы жаппай бірден басқа формаға өтуге қадам жасағанда Wіndows жүйесі бұл әрекетті болдырмайды және ескерту сигналын шығарады.

Модальды формаларды көп жағдайда диалог немесе диалогты панельдер деп атайды. Бұл панельдерден басқа модальды емес диалогтар да бар.

Wіndows-та әртүрлі программалар орындау үшін стандартты диалогты формалар пайдаланылады. Мұндай формалармен пайдаланушы қосымшамен жұмыс жасаған кезде істес болады. Мұндай формаларды стандартты немесе жалпы диалогты деп атайды.

 

Дәріс №9. Стандартты диалогтар

ЖоспарДиалогтар. Файлдың атын таңдау

 

Кілттік сөздер: Dialogs

Delphi-дің палитра компонентінде Dialogs бетінде 10 элемент орналасқан. Олар жалпы диалогтарды іске асыруды белгілейді. Бұл диалогтар көптеген Windoiws қолданулармен осы операцияларды орындау үшін ашлу, сақтау және файлдардың баспасы ретінде қолданылады. Сондықтан оларды көбінесе стандартты деп атайды.

Мысалы:

Мәтінді процессор Microsoft Word 7.0 ттөмендегі берілген диалогтардың көбісін пайдаланылады.

 

12.1-сурет. Dialogs беті

 

Палитра компонентіндегі Dialogs бетінде келесі стандартты диалогтарды белгілейтін элементтер қолданылады.

Компоненттер палитрасының Dіalogs бетінде стандартты диалогтарды орныдайтын келесі компоненттер бар:

 

 

Аты Белгісі Орындайтын операциясы
OpenDіalog Ашылатын файлды таңдау
SaveDіalog Сақталынатын файлды таңдау
OpenPіctureDіalog Ашылатын графикалық файлды таңдау
SavePіctureDіalog Сақталынатын графикалық файлды таңдау
FontDіalog Шрифт параметрлерін түзеу
ColorDіalog Түс таңдау
PrіntDіalog Баспаға беру
PrіnterSetupDіalog Принтерді таңдау және оныңы параметрлерін түзеу
FіndDіalog Іздеу үшін мәтін жолын енгізу
ReplaceDіalog Іздеу және оны ауыстыру үшін мәтін жолын іздеу

 

Стандартты диалогты пайдалану үшін оған сай келген компонентті формаға сыйғызу керек, және оның қасиеттерімен керекті мағыналарымен тағайындау керек. Бұдан кейін диалогтың шақырылуын қандай да бір оқиғамен байланыстыруды қадағалайды. Көп жағдайда орынның таңдауы немесе басылған кнопка, бұл оқиғамен анықталады. Кез келген диалогты шақыру үшін Execute әдісі логикалық мағынаның қайтаратын функциясы қолданылады. Диалогты жабу кезінде ОК батырмасы (ашу немесе сақтау) Executeфункциясы True мағынасын қайтарады, ал өзгерту кезінде Falseмағынасын қайтарады. Стандартты диалог жабылған соң таңдалынған және қойылған процесс диалогында өз қасиеттері арқылы мағыналары қайтарады.

Мысалы: Файлды ашу кезінде қайтарылатын мағына ашылатын файлдың аты (OpenDialog1. FileName), ал түсті таңдау кезінде – жаңа түс (ColorDialog1. Color) таңдалынады.

Файлдың атын таңдау.Файлды ашу және сақтауға файл атын таңдау диалогы таңдалынады. OpenDialogкомпоненті «файлды ашу» диалогын іске асырады. Бұл диалогты іске қосқанда ашылатын файлдың атын таңдауға болатын терезе шығады(13.2- сурет). Диалогты жапқан жағдайда нәтиже ретінде таңдалған файлдың аты қайтарылады.

12.2-сурет. Файлды ашу диалогы

 

SaveDialogкомпоненті «файлды ашу» диалогынан тек тақырыпшасымен (заголовка) ерекшеленетін «файлды сақтау» стандартты диалогын ұсынады. OpenDialogжәнеSaveDialogкомпоненттерінің негізгі қасиеттері келесі: Stringтипті FileName- диалогта таңдалған файлдың атын және толық жолын көрсетеді. Файл аты «Имя файла» деп аталынатын редактілеу жолында жүктелінеді және диалогтың қорытындысы болып табылады.Stringтипті Title қасиеті- терезе тақырыпшасын береді. ЕгерTitleқасиеті қойылмаса, ондаOpenDialog үшін файлды ашу және SaveDialogүшін файлды сақтау тақырыпшасы қолданылады.

StringтиптіInitialDirқасиеті- каталогты анықтайды, диалог терезесі шақырғанда ішіндегілері бейнеленеді. Егер каталог берілмесе, онда алдыңғы каталогтың ішіндегілер бейнеленеді.Stringтипті DefaultExtқасиеті- егер қолданушы файл атының кеңейтпесін көрсетпесе файл атына автоматты түрде қойылатын кеңейтпені береді.

String типтіFilter қасиеті- файлдар типі деп аталынатын кеңейтілген тізімде жүктелінетін файл атының маскасын білдіреді. Көрсетілген маскаға сәйкес келетін диалогтанр терезесінде файлдар аттары көрінеді.(2-суретте бұл файлдар кеңейтпесі TXT және DOC атымен берілген). Үнсіздік бойынша Filter мағынасы бос жол болып табылады, файл атының барлық типін бейнелеуін сәйкестендіреді.

Integerтипті FilterIndexқасиеті- қай масканың филтірі бейнеде көрсетілгенін көрсетеді. FilterIndex 1 деген меғынаны білдіреді және 1-ші маска қолданылады.

TOpenOptions типіOptionsқасиеті- параметірлерді жөндеуге, сыртқы бейнесін басқаруға және диалогтың функционалдық мүмкіндігін басқаруға арналған. Әрбір параметр, яғни жалауша қойылуы немесе алынып тасталынуы мүмкін.

Options қасиетіне шамамен (двух десятков) параметрлер бар. Олардың ең бастысынан келесілер жатады.

1. of AllofMultiSelect- ттізімнен бір мезгілде бір ғана файлды таңдауға болады.

2. ofGreatePrompt- жоқ файлдың атын таңдау кезінде жаңа файлды құру керек деген сұрақ шығады.

3. ofNoLongNames-файл аты қысқартылған түрде жүктелінеді (аты үшін 8-символ және кеңейтпенсі үшін 3 символ).

4. ofOldStyleDialog-Windows 3.11 түрінде диалогты терезе құру.

Фильтер мағынаны ұстайды және «|» белгісімен бөлінеді.Әрбір мағына масканы сипаттаудан тұрады және де «|» белгісімен бөлінеді. Сипаттау-бұл бейнеленген файлдардың шабылоны болып табылады және атынан, кеңейтпесінен тұрады. Егер бір сипаттамаға бірнеше маска тура келсе онда олар «;» белгісімен бөлінеді.

Мысалы: Фильтерді форматтау.

OpenDialog1.Filter:=’мәтіндік файлды|*.txt;*.doc| барлық файл |*.*’;

 

Дәріс №10.

Тақырыбы: Менюмен жұмыс.

Жоспар:Негізгі және контексті меню. Меню құрастырушысы.

Кілттік сөздер: MainMenu, PopupMenu, қасиеттер, оқиғалар, әдістер

Меню деп арқайсысы қандай-да бір команданы білдіретін немесе ішкі менюден тұратын, атқаратын жұмыстарына байланысты топтастырылған тізімді айтады. Әдетте қосымшаларда бір бас(негізгі) және бірнеше жанама(контекстік) менюлер болады. Бас меню (ТMainMenu типті объект, компоненттер палитрасының Standart бетінде орналасқан)- қосымшаның бүкіл жұмысын басқару үшін қолданады, ал контекстік меню (ТPopupMenu типті обьект) интерфейстің жеке элементтерін басқару үшін қолданылады.Олардың негізгі қасиеттері:

 

Қасиет Қасиеттің сипаттамасы Мәндерінің мысалы
  Caption Меню пунктерінің тақырыбын бейнелейтін мәтіндік жол Жолдық мән
BitMap Меню пунктерінің сол жағында орналасатын пиктограмма бейнесін анықтайды Bmp, ico т.с.с форматтар
Enabled Меню пунктерінің активтілігін анықтайды True, false
Visible     Меню пунктерінің экранда көрінетіндігін не көрінбейтіндігін анықтайды True-көрінеді, false-көрінбейді
ShortCup Меню пунктерін активтендіру үшін клавиштер комбинациясын анықтайды Қосарланған клавиштер
Break Менюдің бағаналарға бөлінуін анықтайды mbNone, mbBreak, mbBreakBar
Checked Меню пунктерінің ерекшеленгенін не ерекшеленбегенін анықтайды True, false
RadioIten Меню пунктерінің тақырыбында пайдаланатын белгіні анықтайды True, false
Items Кезектегі меню пункті ішкі пункттер массиві болатындығын анықтайды Бүтін сан
Count Жолдық массивтің мәнін білдіретін сан Бүтін сан

 

Негізгі меню форма тақырыбының төменгі жағында орналасады және қосымшаның жалпы командаларынан тұрады.

Delphi-да негізгі меню - Main Menu компонентi болып табылады.

Негізгі менюдiң сыртқы түрi жол болып табылады, сондықтан оны жолдық деп те атайды.

Контекстi меню тышқанның оң жақтағы батырмасын басқанда шығады, кейбiр басқару элементтерiнiң облысында орын алмастыру кезiнде шығады. Контекстi меню тегiнде меню шақырған объектiге әсер ететiн команданы ұстап тұрады, сондықтан мұндай менюдi локальды (жергілікті) меню деп атайды.

Delphi-де контекстi меню PopupMenu компонентiмен беріледі.

PopupMenu-дiң мынандай қасиетi бар:

g Boolean типтi AutoPopup қасиеті - тышқанның оң жақ батырмасын шерткен кезде жанама менюдің шығуын анықтайды.

Егер AutoPopup қасиетi True мәнге ие болса, онда контекстi меню тышқанның оң жақ батырмасын басқанда автоматты түрде шығады.

Егер AutoPopup қасиетi False мәнге ие болса, онда меню автоматты түрде шықпайды.

Мұндай жағдайда менюдi активтендiру үшiн программа бойынша Popup әдiсiн қолдануға болады.

Popup процедурасы (мґндағы х пен у монитор экранының оң жоғары жақ бұрамына қарағанда меню координаты) экранға көрсетiлген контекстi менюдi алып шығады.

Мысалы:

PopupMenul. Popup(200,200);

g TpopupAlignment типтi Alignment қасиеті – тышқан көрсеткiшiнiң орналасуына қарай контекстi менюдiң пайда болатын орнын анықтайды және келесі қасиеттерді қабылдайды:

hpaLeft-менюдiң сол жақ жоғарғы бұрышында;

hpaCenter- центрде;

hpaRight-менюдiң оң жақ жоғарғы бұрышында;

 

 

Дәріс №11.

Тақырыбы: Менюды динамикалық түрде баптау

Жоспар:Менюді динамикалық түрде баптау.

Кілттік сөздер: MainMenu, PopupMenu, қасиеттер, оқиғалар, әдістер

 

Қосымша құрған кезде, меню құрылуы және күйге келтіруі құрастырушы менюдің көмегімен жүзеге асырылады. Бұл жерде қосымшаны динамикалық тұрғыда орындағанда, менюді құруға немесе асыруға болады. Мысалы, былай болуы мүмкін:

Ø Әртүрлі типтегі және жаңа менюді құруға болады.

Ø Жеке пункттерді қосуға және қоспауға болады.

Ø Меню пунктін көрінетін немесе көрінбейтін етуге.

Ø Меню пунктін қосу немесе өшіру.

Ø Пункт атын өзгерту.

Ø Пункт белгісін орнату немесе белгісі алып тастау.

Ø Басты меню меню формасын басқа формаға өзгерту.

Ø Екі менюді қосу

Бұл мүмкіншіліктер пункттің сұраныстар түсінігін, менюдің құрамын,нақты дәл әдістерін шақыру кезінде қамтамасызетіледі.

Менюдің пункттерін қосу әдістеріне Аdd және Insert жатса, оның меню пункттерінің өшірілуіне Delete әдісі жатады.

Аdd (Item: TMenuItem) процедурасы – соңындағы меню астындағы, параметрлерлі анықталатын Item элементін қосады. Егер меню асты болмаса, онда ол қайта жасалады.

Меню пунктінің қосылуының мысалы:

 

Procedure Form1.mnuItemAddClick(Sender:TSender);

Var NewItem: TmenuItem;

Begin

NewItem:=TmenuItem.Create(Self);

NewItem.Caption:=’Жаңа элемент;

mnuFile.Add(NewItem);

end;

Осы мысалда жаңа пункт, соңындағы Файл меню астына қосылады. Қосылатын пункттің жаңа элемент деген тақырыпшасы болады. Жаңа пункт алдын ала Create құрастырушысымен құрылады.

Insert (Index: Integer; Item:TMenuItem) процедурасы, алдынғы әдіске қарағанда жаңа пункт менюін анықталған жайына қосады. Index параметрі, массивтегі меню элементтерінің жаңа пункт қосылатын позициясын анықтайды. Егер Index параметрінің мағынасы шектелген диапозоннан шығып кететін болса, мысалы, меню астындағы элементтер саны модифицияланған меню пунктінен көп болса, онда шығарылып тастауы көрінеді. Мысалы сұраныс жіберілген позициядағы меню пунктінің қосылуы:

 

Procedure Form1.mnuItemInsertClick(Sender:TSender);

Var NewItem: TmenuItem;

Begin

NewItem:=TmenuItem.Create(Self);

NewItem.Caption:=’Екінші элемент’;

mnuFile. Insert (2,NewItem);

end;

Процедура жаңа меню пунктін меню астындағы Файл қосады. Жаңа пункттің Екінші элемент деген тақырыпшасы болады және екінші позицияға да қосылады(санау 0-ден басталады). Delete(Index: Integer) процедурасы көрсетілген меню пунктін өшіреді. Егер өшірілген меню пунктінде меню асты болса, онда меню асты да өшіріледі.

Меню пунктінің өшірілуінің мысалы:

Procedure Form1.mnuItemDeleteClick(Sender:TSender);

Begin

If mnuFile7Items [2].Caption=’ Екінші элемент’;

mnuFile. Delete(2);

end;

Процедура Файл пункт менюін өшіреді. Өшірілген пунктте Екінші элемент деген тақырыпша болады және екінші позицияда орналасады. Керекті атымен пункттінің өшірілуі алдын – ала тексеріледі.

Форма құрамына бірден көп басты меню кіреді. Бұл қолданылады, мысалы, егер оның біреуінің тақырыпшасыағылшынтілінде, алекіншісі орыс тілінде болса. Осындай мүмкіншілікті орындау кезінде формаға екі MainMenu компанентін енгізу керек және дәл келетін менюді дайындау керек. Осыдан кейін программаның орындау барысында формаға менюлердің әйтеуір біреуін қосуға болады.Басты менюдегіформаға қосылу үшін Menu формасының құрамы қолданылады.

Екі басты менюдің арасындағы қосылулар мысалы:

If Form1.Menu=EnglishMenu then Form1.Menu:=RussianMenu

Else Form1.Menu:=EnglishMenu;

Менюдің EnglishMenu және RussianMenu деген екі аты бар. Кодты, менюдің ауысып қосылуында, немесе оны дәлме-дәл өңдеу кезінде қосуға болады. Есіңізге салсақ, Menu форманың бір құрамы болып табылады, ол басты менюгенемесе белсенді менюге жол ашады.

Қосымшалардың құрамындағы бірнеше өзара қатынасты формалар мен менюдің әртүрлі формаларының арасында бірігу қажеттілігі туындайды. Бұл көбінесе басты – MainMenu менюі мен бағынғанформаға керек.Көп құжатты қосымшаларда басты меню мен таза форманың қосылуы, таза форманы іске қосқанкезде автоматты түрде орындалады. Ал бір документті қосымшаларда менюлердің қосылуы программалық жолмен жүргізіледі. Екі жолдық менюдің қосылуында Merge әдісі қолданылады. Merge (Menu: TMainMenu) процедурасы:сұранысты Menu параметрін, менюді, шақырылған әдісті менюге қосады.

Менюлердің қосылуы меню жолындағы пунктерінің деңгейінде орындалады. Мысалы, бірінші мен екінші меню FileHelp және File Edit View болса, онда нәтижелі меню: File Edit View Help жолында көрсетіледі.

Менюлердің қосылуын автоматты түрде – AutoMerge құрамында Boolean типін орната отырып, True бағынышты формасын құрғанда орындауға болады. Басты форма қосымшасында AutoMerge құрамы, False құрамында орнатылуы керек. Көп құжатты қосымшада қосылулар автоматты түрде орындалады, ол үшін AutoMerge менюінің барлық формаларының құрамы, False мағынасында болуы тиіс.

Меню пункттерінің қадағалануы GroupIndex құрамындағы Byte типіменжәне екі менюдің жекеленген бөліктерімен қосылу кезінде анықталады.Егер GroupIndex құрамының мағынасы екі менюге де тең болса, онда екінші пункттегі меню бірінші пункттегі менюді ауыстырады, сол үшін Merge әдісі шақырылады. Егер осы мағыналар тең болмаса, онда біріккен менюдің пункттерінің кіші мағыналы, үлкен мағыналы пункттің сол жағынан орын тебеді. GroupIndex құрамының тыныштығынан, барлық пункттерідің мағынасы нөлге тең болады.

Осындай екі менюдің қосылулары, көптерезелі қосымшаларды орындағанда қолданылады. Басты терезеден бағыныңқылы терезені шақырғанда, мысалы, MicrosoftWord текстік процессорындағы терезелік құжаттарында, меню пункттері басты менюге және қолданушыға қосымша мүмкіншіліктерді көрсеткенде қосылады. Бағыныңқылы терезені жапқаннан кейін басты менюдегі артық пункттеравтоматты түрде өшеді.

Қосылған менюді ажыратуға UnMerge әдісі қолданылады. UnMerge(Menu: TMainMenu) процедурасы Merge әдісімен құрылған екі менюді бөледі. Menu параметрі басты менюі мен бөлінетін менюді көрсетеді.

 

Дәріс №12

Тақырыбы: Құралдар тақтасын және қалып-к&#

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.