Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Тақырып. Қосымша құру. Визуалды компоненттердің жалпы сипаттамасы



Жоспар. Қарапайым қосымша. Қосымшаның интерфейсін құру. Қосымшаның функционалдық мүмкіндігін анықтау. Визуалды компоненттер. Қасиеттер. Әдістер.

Кілттік сөздер: қосымша, интерфейс, компонент, қасиет, оқиға. Әдістер.

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

Delphi RAD (Rapid Application Development- Қолданбаны жылдам жасау) деп те аталатын визуалды программалау жүйелеріне жатады. Delphi-де қосымшаны құру екі кезеңнен тұрады:

§ қосымшаның интерфейсін (сырт көрінісін) құру;

§ қосымшаның функционалдық мүмкіндіктерін анықтау.

Қосымшаның интерфейсі қолданушы мен қосымшаның өзара әрекет жасау тәсілін анықтайды. Интерфейс формаға интерфейстік компоненттер немесе басқару элементтері деп аталатын компоненттерді орналастыру арқылы жасалады.

Компоненттер визуалды (көрінетін) және визуалды емес (жүйелік) болып бөлінеді.

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

§ алдымен компоненттер Палитрасынан қажетті компоненттер таңдалынып формаға қойылады;

§ компоненттердің қасиеттері анықталады.

Компоненттердің қасиеттері олардың сырт көрінісін, орнын және іс-әрекетін анықтайды. Қасиеттерді Object Inspector терезесінде немесе программа жазу барысында орнатуға болады. Визуалды компоненттердің жалпылама болып табылатын қасиеттеріне кейінірек тоқталамыз.

Delphi-дің мүмкіндіктері және визуалды жобалау технологиясы жайлы алғашқы түсініктер алу үшін қосқыш рөлін атқаратын қосымша жасайық. Қосымшаның жұмыс кезеңінде терезенің көрінісі келесі суретте көрсетілген:

Жаңа программамен жұмыс бастау үшін Delphi-ді іске қосқаннан кейін File/New Application командасын таңдаймыз. Жұмыс басталысымен-ақ Delphi- қолданбаның Windows-та қалыпты жұмысын қамтамасыз етуге программа кодын құрады, яғни қарапайым жоба жасалады.

Әрине, бұл программа ешнәрсе орындамайды. Экранда бос форма. Енді осы форманың сырт көрінісін жөнге келтіру керек. Алдымен форманың Caption қасиетінің мәнін өзгерткен жөн. Ол үшін Object Inspector терезесінде Caption жолына тышқанмен шертіп, оң бағанада ерекшеленген тексттің орнына «Қосқыш» текстін енгізу керек.

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

Айталық, қосымша интерфейсін құру барысында формаға терезені жабуға арналған Button1 батырмасы орнатылсын. Онда бұл батырманың аты және тақырыбы «Button1» болады. Алайда, бұл батырманың тақырыбын оның атқаратын қызметіне байланысты объектілер инспекторы терезесінен Caption қасиетіне «Жабу» текстін енгізіп атын өзгертейік. Проектіні орындау барысында Button1 батырмасын маус немесе пернетақтаның көмегімен басуға болады.

Сондағы форма бетіне қойылған Button1 батырмасының қасиеттері мынадай болады:

Қасиеттер Мәндері
Caption Жабу
Heigth  
Width  

Батырма басылғанымен форманы жабыға байланысты ашқандай әрекеттер орындалмайды. Өйткені, батырма үшін пайдаланушының қандай да бір әрекет анықталмаған. Батырма қандай да бір оқиғаға жауап беру үшін осы оқиға пайда болған кезде шақырылатын өңдеу процедурасын құру қажет. Оқиғаны өңдеу процедурасын құру үшін формадан қажетті батырманы таңдап, Объектілер Инспекторы терезесінің осы таңдалған батырма үшін барлық мүмкін оқиғалар көрсетілген Events (Оқиға) парағына өту қажет. Батырманы басқан кезде OnClick (Шерту кезінде) оқиғасы пайда болғандықтан, осы оқиғаны өңдеу процедурасын құру қажет. Ол үшін OnClick оқиғасының мәндер аймағында маусты екі рет шертсек, нәтижесінде форма модулінде автоматты түрде өңдеу процедурасының қаңқасы құрылады. Осы кезде Код Редакторы терезесі алдыңғы бетке шығып, курсор процедураның Button1 батырмасын басқанда орындалатын код жазуға арналған жеріне орналасады.

Батырма терезені жабатын болғандықтан бұл жерде Form1.Close немесе жай ғана Close деп жазу керек. Сонда форма модулі келесі түрде болады:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Form1.Close;

end;

end.

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

Визуалды компоненттердің жалпы сипаттамасы.

Қолданбаның интерфейсін құру үшін Delphi жүйесі визуалды компоненттердің көптеген жиынтығын ұсынады. Олардың негізгілері компоненттер палитрасының мына беттерінде орналасқан: Standard, Additional және Win32.

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

Қасиеттер қолданба құру және оның орындалу барысында компоненттің сыртқы түрін және іс-әрекетін басқаруға мүмкіндік жасайды. Әдетте, компоненттердің қасиеттері Объектілер Инспекторы терезесі көмегімен программа құру барысында орнатылады. Көрнектілік үшін келтірілген мысалдарда қасиеттердің мәндері меншіктеу операторымен берілген. Кейбір қасиеттер тек программалық жолмен орнатылады.

Енді компоненттердің негізгі жалпылама қасиеттерін атап өтейік. Бірақ осы қасиеттердің барлығы кез келген компоненттерге тән бола бермейді. Мысалы, Edit компонентінде Caption, ал Label компонентінде ReadOnly қасиеттері жоқ.

Name барлық визуалды компоненттерге тән жалпылама қасиет. Қолданбаны құру кезінде компоненттерге автоматты түрде компоненттің атынан және оның реттік нөмірінен тұратын атау беріледі. Мысалы, формаға екі Edit компоненттерін қойсақ олардың атаулары Edit1 және Edit2 болады. Атауларды қолданушы өзі де өзгерте алады. Мысалы,

Edit1.name=’EdtName’;

Енді бұл компоненттің аты Edit1 емес EdtName болады.

Caption қасиеті компоненттің тақырыбын (сыртқы жазылуын) анықтайды.

Allign қасиеті контейнер ішіндегі компоненттің орналасуын анықтайды.

Көбінде, контейнер ретінде форма (Form) немесе панель (Panel) алынады. Орналасу контейнер өлшеміне тәуелсіз интерфейстік элементтің сол контейнердің ішінде білгілі бір орында орналасуы талап етілетін жағдайда пайдаланылады.

Align қасиеті келесі мәндердің бірін қабылдайды:

§ AlNone- туралау процесі жүрмейді, компонент өзінің бастапқы орнында қалады;

§ AlTop – компонент контейнердің жоғарғы жағына орналасады, компонент биіктігі өзгермейді, ал ені контейнер еніне теңеседі;

§ AlBotton- AlTop қасиеті тәрізді, бірақ компонент контейнердің төменгі жағына орналасады;

§ AlLeft – компонент контейнердің сол жағына орналасады, компонент ені өзгермейді, ал биіктігі контейнер биіктігіне теңеседі;

§ AlRight – AlLeft қасиетіне ұқсас, бірақ компонент контейнердің оң жағына орналасады;

§ AlClient- компонент контейнердің тұтас бетін алып жататын болады;

§ AlCustom- контейнердегі компоненттің орны мен өлшемін өңдеуші орнатады. Мысалы, құралдар тақтасы әдетте форманың жоғырғы жағында бас менюдің астында орналасады. Құралдар тақтасын жасау үшін Panel компонентін пайдалансақ Align AlTop мәні алынады:

Panel1.Align:= Align;

Color қасиеті компонент бетінің түсін анықтайды. Көбіне түстерді тұрақтылар көмегімен берген ыңғайлы.

Type TColor = (COLOR_ENDCOLORS+1)..$02FFFFFF.

Color қасиетiнiң мәнi төртбайттық оналтылық санды бiлдiредi. Үлкен байт палитраны бiлдiредi және әдетте ол $00 кодынан тұрады. Ал кiшi үш байт RGB-интенсивтілікті (қызыл, жасыл, көк) бередi. Түстердi тұрақтылардың көмегiмен беру ыңғайлы. Бейнеленетiн түс бейне карта мен монитор параметрлеріне, бiрiншi кезекте орнатылған түстiк рұқсатқа тәуелдi болады.

Негiзгi түстер тұрақтылары

  Тұрақты     Түс   Мән
clAqua ашық көкшiл $FFFF00
clBlack қара $000000
clBlue көк $FF0000
clFuchsia көгiлдiр $F0FBFF
clGray сұр $808080
clGreen жасыл $008000
clLime ашық жасыл $00FF00
clMaroon қоңыр $000080
clNavy қою көк $800000
clOlive зәйтүн түсті $008080
clPurple қызыл-көк $800080
clRed қызыл $0000FF
clSilver күміс түсті $C0C0C0
clTeal көк-жасыл $808000
clWhite ақ $FFFFFF
clYellow сары $00FFFF

TCursor типтi Cursor қасиетi тышқан көрсеткiшiнiң түрiн анықтайды. Delphi –де тышқан көрсеткiшiнiң 20-дан астам түрi және оларға сәйкес келетін тұрақтылар бар. Олардың iшiндегi ең негiзгiлері:

à crDefault – көрсеткiш бастапқы қалыпта өзгеріссiз қалады, әдетте ол бағыттауыш түрiнде;

à crNone – көрсеткiш көрiнбейдi;

à crArrow – көрсеткiш бағыттауыш түрiнде;

à crCross – көрсеткiш крест түрiнде;

à crHourGlass – көрсеткiш құмсағат түрiнде.

TCursor типтi DragCursor қасиетi компоненттердi ауыстыру кезiнде тышқан көрсеткiшiнiң түрiн анықтайды.

Boolean типтi Enabled қасиетi компоненттердiң белсенділігін, яғни оның түсiп жатқан хабарламаға әсер тигiзу мүмкiндiгiн анықтайды. Егер қасиет True мәндi қабылдайтын болса, онда компонент белсенді, ал керi жағдайда белсенді емес екендігін бiлдiредi.

TFont типті Font қасиетi визуалды компоненттерде бейнеленетін мәтін қаріпін анықтайды. Өз кезегiнде, TFont класы қаріптер параметрлерiн басқаратын қасиеттердi қамтиды. Қаріптің негiзгi қасиеттерiне:

à TFontName типті Name қасиеті қаріп атауын анықтайды, мысалы, Arial немесе Times New Roman;

à Integer типтi Size қасиеті пунктегі қаріптің өлшемiн бередi (ПУНКТ 1/72 дюймға тең);

à Integer типті Height қасиеті қаріптің пикселдегі өлшемін береді;

à TFontStyle типті Style қасиеті қаріптің стилін береді және ол келесі мәндер комбинациясын қабылдауы мүмкін:

– fsItalic (курсив);

– fsBold (қою қара);

– fsUnderLine (асты сызылған);

– fsStrikeOut (үсті сызылған).

à TColor типті Color қасиеті мәтін түсін басқарады.

Компонент түсiн орнату мысалы:

Label1.Font.Color:= clBlue;

Label1.Color:= clGreen;

Integer типті Height және Width қасиеттерi компоненттердiң пикселдегі сәйкесінше, тік және көлденең өлшемдерін көрсетеді.

Integer типтi Left және Top қасиеттерi компоненттің оны қоршап тұрған контейнерге қатысты жоғарғы сол жақ бұрышының координаталарын анықтайды.

THelpConText типтi HelpConText қасиетi анықтамалық жүйенің тарау нөмірін береді.

String типті Hint қасиетi курсор компоненттер облысында тұрып және ол бiр талай уақыт қозғалмай тұрған кезде шығатын сыбыр мәтінін бередi. Сыбыр сары түспен боялған өрiстi бiдiредi. Сыбыр шығу үшiн Boolean типiнің ShowHint қасиетiне True мәнін орнату керек.

TPоpupMenu типтi PopupMenu қасиетi тышқанның оң жақ батырмасын басу кезiнде пайда болатын жергілікті жанама менюдi көрсетедi. Жанама меню шығу үшін Boolean типтi AutoPupup қасиетiне True мәнiн орнату керек.

TCaption типтi Text қасиетi компонентпен байланысқан жолды білдіреді. Бұл қасиеттің мәні компоненттің мазмұны болады.

TTabOrder типтi TabOrder қасиетi <Tab> пернесiн басқан кезде компоненттердің контейнер фокусын қабылдау ретін анықтайды. Келісім бойынша бұл тізбек форманы құрастыру кезінде контейнерге компоненттерді орнату ретімен анықталады: бірінші компонент үшін TabOrder қасиетінің мәні 0, екінші үшін – 1 болады.

Boolean типтi ReadOnly қасиетi мәтінді енгізу және редакциялаумен байланысқан басқару элментіне ондағы мәтінді өзгертуге болатынына, не болмайтынына рұқсатты анықтайды.

Color, Ctl3D, Font, ShowHint қасиеттерi үшiн визуалды компоненттер ата-аналық басқару элементтерінің сәйкес қасиеттерінің мәндерін қабылдауына болады. Көрсетiлген қасиеттер үшiн бастапқы мәндер Boolean типті келесi қасиеттер-нысандармен анықталады:

à ParentColor (фон түсi);

à ParentCtl3D(компонент түрi);

à ParentFont – (мәтін қаріпі);

à ParentShowHint (сыбырлауды бейнелеу нысан)

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

Келесі мысалды қарастырайық:

procedure TForm1.Button1Click(Sender: TObject);

begin

With TEdit.Create(Self) do

begin

Parent:=Form1;

Name:='edtNew';

Text:='New Edit';

Left:=60;

Top:=35;

end;

end;

end.

Бұл жерде Button1 батырмасын басқан кезде Form1 формасында орналасатын компонент динамикалық түрде құрылады. Егер Parent қасиетінің мәнін бермесе, онда компонент құрылады, бірақ экранда пайда болмайды. Ата-анадан басқа, компонент үшін Name, Text, Left және Top қасиеттерінің мәндері де орнатылады. Егер Name қасиетіне мән бермесе, онда компонент аты Edit1 болады.

Компоненттерде Parent қасиетіне ұқсас компоненттің элемент-иесін көрсететін Owner қасиеті бар.Әдетте компоненттердің иесі олар орналасқан форма болып табылады. Иені өшірген кезде онда орналасқан компоненттерде бірге өшеді.

Visible қасиеті компоненттің көрінгіштігін басқарады. Егер оған True мәні орнатылса, онда компонент пайдаланушыға көрінеді, ал егер False болса компонент пайдаланушыға көрінбейді. Компонент көрінбей тұрса да оны программалық жолмен басқруға болатынын айта кетейік. Мысалы:

Edit1.Visible:=True;

Edit2.Visible:=False;

Бұл жерде бір жолды редактор Edit1 пайдаланушыға көрініп тұрады, ал бір жолды редактор Edit2 пайдаланушыға жасырынды түрде тұрады.





Дата публикования: 2015-10-09; Прочитано: 3532 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.016 с)...