Componente 100 delphi

7.7 Cadre

În Delphi 5 a introdus o nouă funcție care ajută la menținerea unității stilistice a cererii. Acest cadru - cadru. Este la jumătatea distanței dintre panoul și forma. Cu forma sa în comun faptul că el:
  • proiectate separat, ca o fereastră separată
  • Ea are propria sa unitate - fișier .pas
  • Mostenirea este posibil, chiar mai mare decât mucegai, așa cum poate fi moștenită chiar și într-o singură aplicație
  • Acesta poate fi inclus în depozitar și utilizate, precum și forma, inclusiv moștenirea
Cu panoul de cadru în comun faptul că el:
  • Nu este o fereastră separată de Windows și poate fi afișat doar pe un formular sau alt recipient
  • are proprietăți, metode, evenimente, cum ar fi panoul, nu formează

Astfel, cadrul - un panou, și anume un fragment al ferestrei de aplicație, dar capacitatea de a transporta diferite forme în diferite aplicații și care să permită utilizarea de avantajele oferite de moștenire.

Pe cadru, puteți precum și forma, mutați și așezați orice componentă, setați proprietățile lor, scrie stivuitoare pentru evenimentele lor, etc.

Să creeze un cadru de test curat exemplului său pentru a arăta design-cadru, utilizarea, accesul la diverse elemente sale și moștenirea proprietății.

Începeți o nouă aplicație și selectați File | Noul cadru. grup de transfer pe panou cadru GroupBox (a se vedea. Secțiunea 7.2). Transfer la eticheta eticheta de panou și trei un buton. Puneți toate ingredientele ca aceasta, așa cum se arată în Fig. 7,9, respectiv, prin schimbarea etichetelor lor (Caption) și făcând apel butoanele respectiv BSetup. BInc. BShow.

Să „/> Introduceți o variabilă în modulul:
  • A - a introdus într-o secțiune închisă a unei clase; vizibile numai în procedurile din această clasă în modulul; independent de fiecare alte variabile A sunt conținute în fiecare obiect cadru.
  • În - plasat în secțiunea de clasă deschisă; în alte module pot fi accesate prin intermediul cadrului, în numele obiectului; independent de fiecare alte variabile sunt conținute în fiecare obiect cadru.
  • C - pus în interfața publică este descrierea clasei; disponibil în alte module; există un singur exemplu de C. indiferent de numărul de rame obiecte.
  • D - a introdus în punerea în aplicare a clasei; disponibilă numai în modulul; există o singură instanță a D., indiferent de numărul de cadre obiecte.

Introdus în stivuitoare Schelkov buton de resetare modul oferă toate variabilele la 1 (procedura TFrame2.BSetupClick), creșterea în toate variabilele 1 (procedura TFrame2.BIncClick) afișează variabilele de stare curente (procedura TFrame2.BShowClick).

Acum, să punem câteva copii ale cadrului de pe formular. Du-te la forma principală a aplicației și selectați componentele paletei de cadre (primul buton de pe pagina Standard). O casetă de dialog va apărea, ceea ce va întreba ce cadru pe care doriți să plasați pe formular. Selectați frame2 dvs. cadru și va apărea pe formular. Puteți să-l tracta ca o componentă normală la locația dorită. Repetați acest pas mai mult timp, și locul al doilea cadru pe forma (fig. 7.10). Adăugați un buton și o etichetă prin setarea proprietății sale Align ALTOP egal și proprietatea Aliniere la taCenter.

Ați primit un formular care conține două obiecte - cadru. Puteți modifica anumite proprietăți ale obiectelor. De exemplu, pentru a schimba litere (Caption) Panouri de grup GroupBox (vezi. Fig. 7.10 a).

Fig. 7.10
Exemplu de cadre; Formularul (e) și aplicarea în (b)

După „/> Acum, să scrie un handler clic pe butonul de forma principală Mai întâi de toate, uita-te la modulul de text al acestui formular, veți vedea că în descrierea clasei formular au fost două linii ..:

Pune într-un handler click pe acest operator buton

Se afișează etichete variabile Label1 Cadrele obiect și valoarea clasei cadru C. Valorile variabilelor A și D nu pot fi afișate, deoarece aceste variabile nu sunt disponibile de la modulele externe. Dacă vă popytaetes afișa valorile lor, compilatorul generează un mesaj de eroare.

Salvați aplicația dvs., compilați-l și a alerga. Prin manipularea butoanelor puteți verifica cu ușurință (vezi. Fig. 7.10 b) că variabilele A și B sunt independente pentru fiecare cadru, iar variabilele C și D sunt aceleași. funcționează mai precis ambele cadre cu aceleași variabile C și D.

frame Considerată a avut nici o valoare practică. Să construim un exemplu mai util. În multe dialoguri fragment apare atunci când diferite opțiuni, cadrul care este prezentat în Fig. 7.11. Detaliu include panoul GroupBox. Editare fereastră în care utilizatorul poate scrie numele fișierului și faceți clic pe Browse. care vă permite să selectați un fișier în dialogul deschis fișierul standard Windows. În cazul în care calea către lungimea fișierului, calea completă numele de fișier nu poate fi plasat în fereastra de editare. Prin urmare, este util pentru a oferi o fereastră pop-up pentru el, care ar afișa numele fișierului completă și calea, și ar apărea atunci când utilizatorul a avut loc cursorul mouse-ului peste ea.

Să construim un astfel de cadru, și va încerca să folosească. Începeți o nouă aplicație și selectați File | Noul cadru. Muta pentru a încadra un panou GroupBox grup. Mutare în acest panou fereastra Edit. Buton. OpenDialog dialog (vezi pct. 8.2) și ApplicationEvents componente - Interceptor evenimente de aplicare (a se vedea secțiunea 9.4.). Se pune aproximativ componente așa cum se arată în Fig. 7.11.

Întrebați „/> handler evenimente componente OnShowHint ApplicationEvents, stoca operatorul:

Această declarație la momentul când trebuie afișat tag-ul, controale pentru a vedea dacă sursa acestui eveniment fereastra de editare (HintInfo.HintControl) edit1. Dacă da, atunci eticheta (HintStr) textul se înlocuiește cu textul din caseta de editare și măsurile (metoda CancelDispatch), că acest eveniment nu este manipulat de alte componente ApplicationEvents. care pot fi prezente în cerere. Explicarea tuturor acestor operațiuni, a se vedea. Secțiunea 9.4.

Acum tastați în șirul de tip FileName variabilă globală modul cadru. care va afișa fișierul selectat. În handler clic pe butonul, tastați operatorul care face ca dialogul pentru a deschide un fișier și îl plasează în fereastra de editare și edit1 variabilă numele fișierului NumeFișier selectat de către utilizator, împreună cu calea către acesta.

Handler Evenimentele componente OnExit edit1 pune operatorul în care deține în sus numele fișierului FileName variabilă în cazul în care utilizatorul nu a folosit dialogul, ci pur și simplu a scris în caseta de nume de fișier.

Programarea Frame este completă. Acum, creați un program de testare folosind acest cadru. Să presupunem că trebuie să plasați sub forma a două fragmente descrise de tine în cadru. Du-te la modulul principal al aplicației și puneți-l pe formular așa cum ați făcut, cele două obiecte ale ramei (vezi fig. 7.12 a).

Fig. 7.12
Aplicații din două cadre fișier de selecție: forma (a) și runtime aplicare (b)

Acum, „/> Ai dezvoltat destul de un cadru util și ar dori să-l salvați pentru utilizarea în aplicații viitoare. Acest lucru este ușor de realizat prin ceea ce face la depozitar. Faceți clic pe rama, clic dreapta și selectați din supernatant Adăugați la secțiunea Repository a meniului. Fereastra se va deschide .., se arată în figura 7.13, în partea de sus titlul de editare fereastră trebuie să scrie numele ramei - semnătura prin pictograma acesteia la intrarea Depozitarului în fereastra următoare - .. descrierea poate scrie o explicație mai detaliată a se poate vedea utilizatorul Prin intrarea depozitarului, făcând clic dreapta și selectând din meniul pop-up care afișează formularul Vizualizare detalii. În lista verticală Page Puteți selecta o pagină a depozitarului la care doriți să plasați pictograma cadrului său. Cu toate acestea, puteți seta și o nouă pagină cu un titlu nou (My formă în fig. 7.13). Ca urmare, apare în depozitar.

Acum îl puteți utiliza în aplicațiile mai târziu. Pentru a face acest lucru, va trebui să execute comanda File | Nou în caseta de dialog de dialog Elemente noi, localizați rama (fig. 7.14).

Fig. 7.13
Adăugarea unui depozitar fereastră cadru

Fig. 7,14
New window Elementele incluse un nou cadru

În „/> Copy - Copiere, Moștenire - moștenesc, Utilizare - folosiți dacă butonul Copy este cadrul fișierele sunt pur și simplu activat vor fi copiate în aplicația în care nu altă comunicare între cadru original și o copie nu va, puteți schimba cu ușurință proprietățile dumneavoastră .... și copii ale acesteia nu va afecta cadrul, stocate în depozitar. și dacă schimbați ceva mai târziu, în cadrul care este stocată în depozitar, aceste modificări nu vor afecta cererea dumneavoastră, care ați copiat anterior cadru.

Când butonul Moștenire veți obține un cadru în proiectul dumneavoastră, care moștenește plasat în depozitari. Acest lucru înseamnă că, dacă schimbați ceva în cadru, care este stocată în Depozitarul, atunci acesta se va reflecta atunci când recompilați toate proiectele care moștenesc cadru. Cu toate acestea, o schimbare în cadrele moștenite nu afectează proprietățile cadrului stocate în depozitar.

Când butonul Utilizați te modul de utilizare. În acest caz, proiectul se va transforma pe rama in sine, care este stocat în depozitar. Deci, orice proprietăți cadru schimbare, realizate în proiectul dumneavoastră, și se va reflecta în cadrul stocate în depozitar, și toate proiectele care moștenesc sau folosind acest cadru (dacă este recompilarea).

Astfel, modul de Moștenire ar trebui să fie utilizat pentru toate modulele în proiectul dumneavoastră, și modul de utilizare - pentru a schimba cadrul de bază. În timp ce îmbunătățirea cadrului de bază va fi simultan afecta toate modulele de proiect atunci când recompilarea.

Introdus în Delphi 5 componentă a cadrului prin utilizarea de moștenire permite unității de soluții stilistice, nu numai în cadrul aplicației, dar, de asemenea, într-o serie de aplicații pe care le dezvolta. Ai nevoie doar de o singură dată pentru a dezvolta o serie de cadre utilizate frecvent pentru a le include în depozitar, și apoi le puteți folosi în mod repetat în toate proiectele lor.

articole similare