100 Componente ale delfilor

9.5 Obiect ecran - ecran

În aplicația Delphi, este creat automat un obiect Ecran global de tip TScreen. ale căror proprietăți sunt determinate din informațiile Windows despre monitorul pe care este lansată aplicația. Puteți utiliza în orice aplicație, de exemplu, acești parametri ai obiectului Ecran. Înălțime - înălțimea ecranului și lățimea - lățimea acestuia. Deci, cum vă folosiți în procesul de proiectare un tip de monitor, iar aplicația poate lucra în continuare pe ecranul unui alt tip, este posibil, de exemplu, că forma dvs. nu se potrivește pe ecran, sau invers - este prea mic pentru acest monitor. Pentru a evita aceste probleme, puteți redimensiona automat forma prin introducerea, de exemplu, în tratare a evenimentelor pentru codul său OnCreate:







Acest cod stabilește dimensiunea formularului la jumătate din dimensiunea ecranului corespunzător.

Rezoluția ecranului poate fi determinată utilizând proprietatea PixelsPerInch. indicând numărul de pixeli pe ecran în direcția verticală. Acest lucru este valabil pentru direcția verticală, deoarece la mulți monitori, factorii de scalare orizontali și verticali sunt diferiți.

Ecranul are proprietatea Forms [I]. O listă a formularelor afișate în prezent pe ecran și a proprietății FormCount. reflectând numărul acestor formulare. Puteți utiliza această proprietate, de exemplu, pentru a vă asigura că pe acest tip de monitor dimensiunile oricărui formular nu vor depăși dimensiunea ecranului. Codul corespunzător poate arăta astfel:

Dimensiunile formelor care depășesc dimensiunea ecranului sunt tăiate prin acest cod.

În exemplele de mai sus, desigur, este necesar să se ia în considerare faptul că, atunci când forma mucegaiului se schimbă, locația componentelor pe suprafața sa se modifică în mod corespunzător.

O altă proprietate utilă a obiectului Ecran este Fonturi (fonturi). Această proprietate a tipului TStrings conține o listă a fonturilor disponibile pe acest computer (proprietate numai pentru citire). Acesta poate fi folosit în aplicație pentru a verifica dacă există un font pe computerul utilizat în aplicație. Dacă nu, atunci puteți fie să dați utilizatorului un avertisment, fie să schimbați fontul din aplicație într-unul din cele disponibile sau să oferiți utilizatorului posibilitatea de a alege fontul corespunzător. De exemplu, puteți pune o componentă de listă TComboBox în aplicația dvs. și o puteți încărca cu fonturile disponibile atunci când utilizați evenimentul OnCreate form utilizând operatorii:







Apoi, la momentul potrivit, utilizatorul poate selecta fontul corespunzător din listă. Un exemplu de utilizare a proprietății Screen.Fonts este dat în secțiunea 3.1.

În Delphi 5, tipul TScreen are două proprietăți noi: HintFont și MenuFont de tip TFont. Acestea stochează fonturile afișării comenzilor rapide și a secțiunilor de meniu instalate în Windows.

Proprietatea Cursor a obiectului Ecran determină aspectul cursorului. Dacă această proprietate este crDefault. tipul cursorului atunci când se deplasează peste componente este determinat de proprietățile Cursorului setate în ele. Dar dacă proprietatea Cursor a obiectului Ecran este diferită de crDefault. atunci proprietățile componentei corespunzătoare sunt anulate iar cursorul are o vizualizare globală specificată în ecran. Acest lucru poate fi folosit pentru o sarcină atât de frecventă, cum ar fi schimbarea cursorului în formularul "clepsidră" în timpul unor operațiuni lungi. Puteți face acest lucru după cum urmează:

Dacă operațiile de lungă durată sunt de succes sau anormale, cursorul revine oricând la valoarea implicită. În cazul în care cererea în anumite perioade de timp este utilizat este diferit de crDefault vedere globală a cursorului, apoi următorul cod poate fi schimbat la sfârșitul operațiunii de lungă pentru a restabili importanța globală anterioară:

Cu ecran puteți accesa formularul activă în prezent a cererii dvs. prin proprietatea ActiveForm. Dacă sunteți în prezent un utilizator trecut de la aplicația pe un alt și, în consecință, nici o formă de aplicare nu este activ, punctele ActiveForm într-o formă care devine activ atunci când utilizatorul revine la cererea dumneavoastră. Când comutați focalizarea de la una dintre formele la alta, este generat un eveniment OnActiveFormChange.

În mod similar, utilizând proprietatea ActiveControl, puteți accesa componenta activă a ferestrei pe formularul activ. Când focalizarea este schimbată, evenimentul OnActiveControlChange este generat.

De la Delphi 4, este posibil să se dezvolte aplicații multi-screen care funcționează simultan cu mai multe monitoare. În acest caz, aplicația poate decide ce formulare și dialoguri ar trebui să fie afișate pe acest monitor sau pe acel monitor. Proprietățile diferitelor monitoare utilizate într-o astfel de aplicație pot fi găsite utilizând proprietatea Screen.Monitors [I]. unde eu sunt indicele monitorului. Indexul 0 se referă la monitorul principal. Proprietatea Screen.Monitors [I] este o listă de obiecte de tip TMonitor. conținând informații despre monitoare specifice.

Printre proprietățile obiectelor de tip TMonitor se numără Înălțimea - înălțimea și lățimea - lățimea ecranului monitorului. În plus, există proprietăți Left și Thor. Aceste proprietăți înseamnă următoarele. Tot spațiul disponibil pe ecran poate fi imaginat împărțit în ecrane cu monitoare separate, amplasate de la stânga la dreapta și de sus în jos. În consecință, proprietățile Stânga și Top determină coordonatele colțului din stânga sus al ecranului monitorului în acest spațiu logic al ecranului. Obiectele de tipul TMonitor au, de asemenea, proprietatea MonitorNum - numărul monitorului, care este indicele acestuia în ecranul de proprietăți. Monitoare [I].

Pentru a controla monitorul pe care ar trebui să apară un formular, se utilizează proprietatea formei DefaultMonitor. Această proprietate poate lua valori:

Nu există nicio încercare de a plasa formularul pe un anumit monitor

Formularul este plasat pe primul monitor din lista Screen.Monitors.







Articole similare

Trimiteți-le prietenilor: