Începerea rapidă în Delphi - pagina 2

Acum ne vom uita la o tehnică interesantă - cum puteți scoate textul dintr-un unghi. După cum puteai vedea, în timp ce era utilizată doar o funcție care poate afișa text orizontal și nu mai există indicii despre posibilitatea de a deschide textul și de a scrie, de exemplu, pe verticală.

Creați un nou proiect. Acum, creați un handler de evenimente oncreate pentru formularul principal. În această procedură, scrieți următoarele:

procedura TForm1.FormCreate (expeditor: TObject);

privat index: Integer; cl: Boolean;

Pregătirile de bază sunt terminate și putem trece direct la programare. Scopul variabilelor va fi discutat mai târziu și acum creați un handler de evenimente pentru forma principală # 111; nmousedown. Acest eveniment este declanșat când utilizatorul face clic pe mouse-ul de pe formular.

Începerea rapidă în Delphi - pagina 2
Bineînțeles, titlul acestei părți este destul de vag și nu este corect, deoarece Windows în sine este grafic și toate lucrările se fac într-un mod grafic. Dar, uneori, lucrăm cu textul, percepându-l ca text, iar uneori textul este afișat sub formă de grafică.

Pentru a afișa textul pe ecran, obiectul TCanvas are o metodă Textout. Această metodă are trei parametri:

  • x este coordonatul poziției textului;
  • y este coordonatul poziției textului;
  • direct linia de text care urmează să fie tipărită. Creați o nouă aplicație și pentru evenimentul OnPaint scrieți codul:

Canvas.TextOut (100,100, "Bună ziua tuturor");

Aici, textul este afișat în coordonate (100, 100). Proprietatea Font a obiectului TCanvas este responsabilă de stilul fontului. Această proprietate are, de asemenea, un tip de obiect (TFont), care are o mulțime de proprietăți. Dintre acestea, desigur, este proprietatea de culoare, deci vom pune un buton și coiorDialog pe formular, astfel încât să puteți schimba culoarea textului.

Pentru eveniment # 111; butoanele nclick scriu următoarele:

dacă ColorDialogl.Execute apoi FormPaint (zero);

Proprietatea periei obiectului TCanvas este responsabilă de parametrii periei. După cum sa menționat deja, peria este folosită pentru a picta spații închise. De asemenea, are un tip de obiect, ca un creion și, prin urmare, are propriile proprietăți și metode.

Obiectul TBrush are mai multe proprietăți care afectează parametrii periei.

  • Bitmap este o imagine care va fi utilizată ca fundal de umplere.

Imaginea ar trebui să fie de 8x8 pixeli. Dacă există mai multe, atunci vor fi implicați numai pixelii de la pătratul superior stânga 8x8.

Începerea rapidă în Delphi - pagina 2
Acum, să examinăm culoarea și, în paralel, să ne familiarizăm cu funcțiile grafice. După cum deja știm, două concepte de culoare sunt folosite pentru desen - culoarea creionului și culoarea pensulei. Pentru stilul creionului (inclusiv culoarea), proprietatea obiectului TCanvas răspunde. Pentru stilul periei este proprietatea lui Brush. Și Brush și Rep sunt de asemenea obiecte. Ei au proprietățile pe care le vom vorbi în acest articol.

Mai întâi de toate, vom aborda obiectul cu o emoție. Are o serie de proprietăți. Luați în considerare.

  • culoarea - culoarea creionului.
  • Manipulați - aici este o descriere a creionului, care poate fi folosit atunci când accesați direct funcțiile WinAPI.

NOTĂ. Cele mai multe obiecte au o proprietate Handle care este necesară doar pentru funcțiile API. În programele normale nu va fi folosit.

  • Mod - modul de afișare, care arată modul în care va fi trasată linia.
  • stil stil creion. Există următoarele stiluri (puteți vedea afișarea grafică a stilurilor de linie în figura de mai jos):
  • psSolid - linie solidă;
    • linia psDash sub forma unei linii punctate (constă din linii scurte);
  • psDot - o linie de puncte;
  • psDashDot - linia cu linii și puncte alternante;
  • psDashDotDot-line cu linii alternante și două puncte;
  • psciear - linia invizibilă;
  • psInsideFrame - LINE în interiorul formularului (arată ca unul solid).
  • lățimea este lățimea creionului.

Începerea rapidă în Delphi - pagina 2
Să încercăm să scriem un exemplu simplu, care va desena un pătrat obișnuit. Dar pentru a complica sarcina, pătratul va fi tras nu pe formă, ci în interiorul componentei TPaintBox, care este foarte potrivit pentru aceste scopuri.

Creați o nouă aplicație și plasați componenta PaintBox pe ea din fila Sistem din Paleta de componente. Încercați să plasați această componentă în jumătatea inferioară a ferestrei.

Forma și PaintBox au o proprietate de pânză, astfel încât să puteți atrage de ele. Recoltarea se face cel mai bine cu evenimentul onPaint, care este prezent și în ambele componente. Deci, creați un handler de evenimente OnPaint pentru formular și scrieți următoarele:

Aici numim metoda Rectangle a obiectului panza din forma principală. Această metodă are patru parametri.

  1. Poziția stângă a pătratului.
  2. Poziția de sus a pieței.
  3. Poziția corectă.
  4. Poziție inferioară.

Acum, selectați componenta PaintBox și creați același handler de evenimente OnPaint pentru această componentă. În acesta, scrieți următoarele: PaintBoxl.Canvas.Rectangle (10,10,100,100);

Aici, aceeași metodă se numește cu aceiași parametri, numai pentru PaintBox. Aceasta înseamnă că acest pătrat va fi desenat deja în interiorul componentei PaintBox.

Încercați să rulați aplicația și veți vedea două pătrate (Figura 12.2). Ambele sunt desenate folosind metoda Rectangle cu aceiași parametri și, teoretic, ar trebui să fie desenate în același loc. Cu toate acestea, în realitate, acest lucru nu este atât pentru că prima pătrat este desenată pe formular, iar coordonatele sale sunt în raport cu matrița (10, 0, 100, 100), și secundar în cadrul componentei și coordonatele sunt măsurate în raport cu această componentă (10 , 0, 100, 100).

De ce apare desenul în traductorul evenimentului OnPaint? Doar un eveniment este generat de fiecare dată când aveți nevoie de o aplicație și puneți codul de trasare pătrat în handlerul evenimentului Onshow. În cel mai bun caz, veți vedea un pătrat, dar dacă minimizați fereastra sau doar închideți-o la alta și apoi deschideți-o din nou, pătratul va dispărea.

TIP. Windows nu-și amintește graficul care se afla în fereastră și se bazează pe programul tău. Singurul lucru pe care sistemul de operare îl face este să direcționeze evenimentul Paint (WM_PAINT) la program, ceea ce indică necesitatea redactării autoportante a ferestrei con- tinuate. Acesta este motivul pentru care este de dorit să atrageți mânerul OnPaint sau cel puțin să apelați la el o funcție care să restabilească grafica necesară în fereastră.

Articole similare