Sunteți pe pagina 1din 8

Lucrarea nr.

Obiectul Form:

Formularul este interfaţa de lucru cu utilizatorul a proiectului în dezvoltare.

Este un obiect special care este destinat pentru proiectarea ferestrei care va fi
vizibilă în momentul lansării în execuţie a proiectului. De fiecare dată când se
lansează în execuţie, sistemul Delphi creează o formă, care în momentul iniţial nu
conţine nici o componentă. Pe formă se pot aşeza componente vizuale şi nevizuale,
care alcătuiesc interfaţa cu utilizatorul. O aplicaţie poate conţine mai multe forme
(o formă corespunde ferestrei principale a aplicaţiei, iar diferitelor ferestre de
dialog utilizate de fereastra principală le corespund alte forme).

Adăugarea unei noi forme unui proiect se poate realiza prin selectarea
comenzii New Form din meniul File.

Deocamdată nu se cere crearea unui formular suplimentar.

Evidenţierea proprietăţilor formularelor

-> Porniţi Delphi!


Proprietatea ActiveControl

-> Aduceţi pe formular patru butoane (de tip TButton) pe care le plasaţi în cele
patru colţuri ale formularului! (Butoanele se aduc din pagina Standard de
componente.)

-> Selectaţi ca parametru al proprietăţii ActiveControl, a formularului, butonul al


doilea şi rulaţi programul! (Se selectează formularul făcând un click pe zona de
caroiaj a acestuia şi apoi, cu ajutorul inspectorului de obiecte, se selectează
valoarea Button2 a proprietăţii ActiveControl.)

8
-> Se observă care este butonul focalizat (butonul focalizat este încadrat de un
dreptunghi trasat cu linie punctată):

-> Se opreşte execuţia.


-> Se modifică ActiveControl pe butonul al treilea şi se rulează din nou programul!
Care este concluzia? (Proprietatea ActiveControl determină care dintre obiectele
de pe formular va deţine focus-ul în momentul pornirii aplicaţiei. )

Proprietatea AutoScroll

-> Se porneşte din nou aplicaţia.

-> În timp ce programul rulează se trage de colţul dreapta jos a ferestrei aplicaţiei
şi se redimensionează în sensul micşorării acesteia.

-> Se observă că apar barele de defilare.

-> Se opreşte execuţia programului!

-> Se trece proprietatea AutoScroll a formularului pe False şi se rulează din nou


programul!

-> Se micşorează din nou figura şi se observă lipsa barelor de defilare.

-> Se opreşte execuţia programului!


Proprietatea BorderIcons

-> Se execută dublu click pe numele proprietăţii BorderIcons din inspectorul de


obiecte! Ce se observă? (Se extinde proprietatea cu alte câteva sub-proprietăţi.)

-> Se modifică pe rând cele patru sub-proprietăţi şi se rulează programul pentru


fiecare modificare în parte. Ce se observă? (Se urmăreşte prezenţa iconiţelor de
minimizare, maximizare, restore şi close ale formularului. Starea biSystemMenu
influenţează efectul celorlalte trei sub-proprietăţi. Sub-proprietatea biHelp are
efect doar dacă biSystemMenu este True, biMinimize este False şi biMaximize este
False.)

-> Se reactivează toate înapoi! (biSystemMenu-True, biMaximize-True,


biMinimize-True, biHelp-False)
Proprietatea BorderStyle

-> Se rulează programul pentru fiecare dintre variante şi se observă caracteristicile


din tabelul următor (Se urmăreşte modul de delimitare a ferestrei aplicaţiei faţă de
fundalul ecranului):
9
Valoare Semnificaţie
bsDialog Chenar neredimensionabil; chenarul standard al
ferestrelor de dialog
bsSingle Chenar neredimensionabil, desenat cu o linie simplă.
biNone Chenar neredimensionabil, desenat cu linie invizibilă.
bsSizeable Chenar redimensionabil standard.
bsToolWindow Similar cu bsSingle, dar este prevăzut cu un mic titlu.
bsSizeToolWin Similar cu bsSizeable, dar este prevăzut cu un mic titlu.

-> Se trece înapoi pe bsSizeable (valoarea implicită a acestei proprietăţi).

Proprietatea Caption

-> Se introduce în dreptul proprietăţii Caption a formularului textul: „Aceasta este


aplicaţia mea” (Proprietatea Caption din inspectorul de obiecte corespunde
obiectului formular Form1 dacă acesta a fost selectat în prealabil, adică dacă s-a
efectuat un click pe suprafaţa de lucru a acestuia şi dacă în prima linie a
inspectorului de obiecte se găseşte scris numele de cod al formularului: Form1.)

Observaţie! O anumită proprietate din inspectorul de obiecte corespunde unui


anumit obiect al aplicaţiei dacă acel obiect este selectat în acel moment, adică este
încadrat de puncte pătrate şi dacă în prima linie a inspectorului de obiecte se află
scris numele de cod a acelui obiect.
Proprietatea Color

-> Se merge la linia de meniu la File/CloseAll - nu se salvează! (Aplicaţia curentă


este abandonată.)

-> Se merge la File/NewApplication (Se creează o aplicaţie nouă. Aceste două


operaţii sunt obligatorii în cazul în care se doreşte abandonarea, pentru un timp
sau definitiv, a proiectului aflat în lucru cu scopul de a începe altul nou sau de a
continua altul mai vechi. În cazul în care aceste două operaţii nu sunt efectuate
poate apare situaţia în care comanda Run să execute alt proiect decât cel în lucru
pentru simplu motiv că în momentul respectiv se află mai multe proiecte active în
mediul Delphi.)

-> Se aduce pe formular un ScrollBar (ScrollBar se găseşte în pagina de


componente Standard.)

-> Se modifică proprietatea Max a scrollbar-ului la 255 (Valoarea maximă la care


poate urca proprietatea Position.)

10
-> Se face dublu click în dreptul evenimentului OnChange al scrollbar-ului (pentru
a se genera procedura corespunzătoare evenimentului OnChange al scrollbar-
ului)

-> Se completează procedura creată cu codul:


form1.Color:=longint(scrollBar1.Position);

(care face transformarea de la tipul integer al proprietăţii Position la tipul


longint a proprietăţii Color)

-> Se rulează programul! Ce se întâmplă la mişcarea scrollbar-ului? (Trebuie să


varieze în mod continuu culoarea formularului de la negru spre roşu aprins odată
cu deplasarea cursorului de la stânga spre dreapta.)

-> Se pot alege diferite valori din inspectorul de obiecte pentru această proprietate
(Color a formularului).

-> Se revine la valoarea clBtnFace (care era valoarea iniţială şi este valoare
implicită pentru această proprietate).

Proprietăţile ClientHeight şi ClientWidth

-> În timp ce aplicaţia este oprită se modifică dimensiunea formularului (prin


tragerea cu ajutorul butonului stâng al mouse-ului din colţul din dreapta jos a
formularului).

-> Se observă ce se întâmplă cu valorile celor două proprietăţi după re-


dimensionare. (Cele două proprietăţi trebuie să reflecte noile dimensiuni ale
formularului: înălţimea şi lăţimea).
Proprietatea Cursor

-> Se încearcă execuţia programului cu diferite tipuri de cursoare selectate în


dreptul acestei proprietăţi. (Este o proprietate întâlnită şi la alte componente. Ea
modifică aspectul cursorului în zona obiectului respectiv).
Proprietatea Enabled

-> Se aduce un buton (de tip TButton) pe formular, se creează evenimentul


OnClick corespunzător acestuia. (Dublu click pe o componentă generează
procedura corespunzătoare primului eveniment din lista de evenimente a
obiectului respectiv. Întâmplător evenimentul de care avem nevoie de această dată
coincide cu primul eveniment din lista de evenimente a obiectului Button, deci
puteţi folosi şi această modalitate de creare a procedurii. Atenţie la componentele
la care nu cunoaşteţi încă evenimentele şi ordinea acestora în listă!)

-> Se completează codul procedurii nou create cu codul:


11
showmessage('Fereastra este activa!');

(Procedura showmessage generează o fereastră de dialog cu mesajul transmis


ca parametru.)
-> Se rulează programul; se observă mesajul la apăsarea butonului.

-> Se opreşte execuţia.

-> Se trece proprietatea Enabled a formularului pe False.

-> Se rulează din nou programul; se observă efectul. (Fereastra este dezactivată
aşa că dacă nu puteţi accesa nici o componentă şi nici măcar butoanele de
închidere este normal. Programul poate fi oprit cu comanda Run/ProgramReset.)

-> Se trece Enabled pe True, înapoi (la valoarea implicită).


Proprietatea Font

-> Se selectează proprietatea Font a formularului şi se observă în dreapta acesteia


simbolul:

-> Se face click pe acest simbol.

-> Se pot modifica proprietăţile fonturilor formularului. (Este posibil ca setările de


culoare pentru fonturi să nu funcţioneze pentru această versiune de Delphi.)

Proprietatea Hint şi ShowHint

-> Se trece proprietatea ShowHint a formularului pe True. (În acest mod se


activează afişarea hint-urilor.)

-> Se introduce la Hint: Neata! (mesajul care urmează să fie afişat ca hint în
momentul în care cursorul mouse-ului este poziţionat pe formular. Aceste două
proprietăţi sunt specifice şi altor componente. Mesajul hint-ului va fi afişat la
poziţionarea cursorului mouse-ului deasupra componentei respective.)

-> Se rulează programul. (La plimbarea mouse-ului deasupra formularului va fi


afişat din loc în loc hint-ul cu mesajul specificat la pasul anterior.)
Proprietăţile Left şi Top

-> În timp ce aplicaţia este oprită se modifică poziţia formularului pe ecran. (Se
trage de bara de titlu a formularului cu ajutorul butonului din stânga al mouse-
ului.)

-> Se observă valorile celor două proprietăţi. (Cele două proprietăţi reflectă
poziţia colţului stânga sus a formularului faţă de colţul stânga sus al ecranului.)

12
Proprietăţile compuse HorzScrollBar şi VertScrollBar

-> Pentru aceste două proprietăţi nu aveţi nimic de făcut practic. (Aceste două
proprietăţi se referă la cele două ScrollBar-uri specifice formularului.)

Proprietate Descriere
Increment Stabileşte distanţa de deplasare a imaginii din
(valoare 1 ÷ 32767, cea formă în momentul în care utilizatorul efectuează
implicită este 8) un clic pe unul din bu-toanele cu săgeţi situate în
extremităţile barelor de defilare.
Margin Stabileşte momentul de afişare a barei de defilare.
(de tip word, valoarea Ea determină numărul minim de puncte care
implicită este 0) separă componentele formei şi muchia formei. În
execuţie, dacă o componenta ajunge să fie la o
distanţă mai mică decât Margin puncte de la
muchie, şi dacă proprietatea Visible are valoarea
True, atunci se afişează o bară de defilare.
Position Comunică poziţia actuală a cursorului glisant al
(de tip integer, valoarea barei de defilare. Această valoare este actualizată
implicită este 0) automat în execuţie, în funcţie de defilare.
Range Dimensiunea maximă de defilare, exprimată în
(de tip integer, valoarea puncte. La bara de defilare verticală această
implicita este 0) valoare trebuie sa fie mai mare decât valoarea
proprietăţii Height (în caz contrar bara verticală
este invizibilă). La bara de defilare orizontală
această valoare trebuie sa fie mai mare decât
valoarea proprietăţii ClientWidth (în caz contrar
bara orizontală este invizibilă). De exemplu, dacă
proprietatea Range a unei bare orizontale conţine
valoarea 500, lăţimea formei este 200, atunci
valorile proprietăţii Position pot fi în intervalul
[0, 300]
Tracking Dacă se alege valoarea True, imaginea din formă
(de tip Boolean, având se deplasează împreună cu butonul de glisare tras
valoarea implicită de utilizator. Dacă se alege valoarea False,
False) imaginea rămâne statică atâta timp cât utilizatorul
trage butonul de glisare, deci actualizarea
imaginii defilate va avea loc numai în momentul
eliberării butonului glisant al barei de defilare.
Visible Se referă la vizibilitatea barei de defilare. Dacă se
(de tip Boolean, având alege valoarea True, şi dacă componenta se află
valoarea implicită la o distanţa mai mică decât Margin puncte de
True) muchia formei, atunci bara de defilare devine
vizibilă.

13
Proprietatea Visible

-> Se selectează File/CloseAll nu se salvează;

-> Se selectează File/NewApplication; (Se începe o aplicaţie nouă.)

-> Se aduce un buton pe formular;

-> Se generează evenimentul OnClick al butonului;

-> Se completează procedura nou creată cu codul:

Form1.Visible:=False;
showmessage('Forma este invizibila');
Form1.Visible:=True;

(care au ca efect ascunderea formularului, afişarea unui mesaj şi, după


închiderea mesajului, re-afişarea ferestrei.)

-> Se execută Run/ProgramReset! (Se opreşte rularea aplicaţiei.)

Proprietatea WindowState

Valoare Semnificaţie
wsNormal Forma este afişată în stare normală (nici minimizată,
nici maximizată). Valoare implicită.
wsMinimized Forma este afişată în stare minimizată.
wsMaximized Forma este afişată în stare maximizată

14
Evenimentele formularului

-> Se selectează File/CloseAll nu se salvează;

-> Se selectează File/NewApplication;

-> Se creează câte o procedură pentru următoarele evenimente ale formularului:


OnActivate, OnClose, OnCloseQuery, OnCreate, OnDblClick, OnDeactivate,
OnKeyUp, OnPaint, OnResize, OnShow. (Se execută dublu click in dreptul
numelui evenimentului respectiv, în inspectorul de obiecte, pagina Events.)

-> Se completează fiecare procedură creată cu instrucţiunea:

showmessage(' ');

iar între apostrofuri se trece câte un mesaj sugestiv care să oglindească tipul de
eveniment. (Mesajul ataşat fiecărui eveniment vă va ajuta, atunci când veţi rula
programul, la observarea ordinii în care apar evenimentele.)

-> Se rulează programul şi se remarcă ordinea apariţiei evenimentelor şi modul de


manifestare.

15

S-ar putea să vă placă și