Referință la componentele delphi

Pagina 16 din 44

Obiectul aplicației

La nivelul metodelor și proprietăților acestei componente, aplicația de rulare este controlată. Nu este prezent în Paleta de componente și toate proprietățile sale trebuie să se schimbe din program.







Există două motive pentru accesarea aplicației TA. În primul rând, obține informații despre o aplicație comună pentru toate formele sale. În al doilea rând, este controlul procesului de executare a aplicației și a formelor sale. Aceste metode sunt strâns legate de Windows, iar lucrul cu multe dintre ele necesită o anumită experiență.

Următoarele proprietăți pot fi clasificate drept informații:

proprietate Titlu: șir;

Numele aplicației. Acest nume este afișat în TaskManager, TaskBar, etc. Implicit este numele proiectului.

(Ro) proprietate ExeName: string;

Numele fișierului cu extensia .EXE care conține aplicația (același nume este returnat de funcția ParamStr (0)).

Aplicație pictogramă. Inițial, când este lansată, pictograma este descărcată dintr-o resursă numită MAINICON în fișierul de resurse al proiectului.

Acum, ia în considerare metodele și proprietățile într-o secvență corespunzătoare "ciclului de viață" al aplicației. Când începe să se efectueze mai întâi Application creează și inițializează formularul de cerere folosind metoda: procedura CreateForm (FormClass: TFormClass; var de referință); Parametrul de referință va indica instanța generată a formei din clasa FormClass.

Cu acces la această metodă, codul conținut în fișierul cu extensia .DPR începe; în timp ce creează numai acele formulare care sunt conținute în lista Auto-Creare Formulare în opțiunile proiectului. Metoda funcționează astfel încât, dacă indicatorul pentru forma principală este zero, atunci forma creată devine cea principală. Din aceasta rezultă că principala va fi întotdeauna prima dintre formele create. Indicatorul la acesta este descris în proprietate:

Aici trebuie să faceți o rezervare specială. În plus față de principalele și alte forme, aplicația are încă o fereastră invizibilă. Este într-adevăr principalul și sunt procesate toate mesajele Windows care controlează starea aplicației. Descriptorul său este disponibil în proprietate:

După crearea tuturor formelor metodei

Pornește ciclul de procesare a mesajului din formularul principal de solicitare. Codul său este foarte simplu și arată astfel:

Metoda numită în ea

extrage următorul mesaj din coadă și îl transmite la procesare după cum urmează:

Metoda ProcessMessage caută manualul de mesaje dorit și transmite controlul acestuia. Scopul metodei Idle este explicat mai jos.

Mesajul distribuitorului evenimentului vă anunță primirea mesajului:

Utilizând procesarea OnMessage, programatorul poate ignora procesarea oricăror mesaje (sau orice) (cu excepția mesajelor WM_QUIT și prompt). Pentru aceasta, după ce ați efectuat acțiunile necesare în cadrul metodei, trebuie să reveniți la True în parametrul Handled. Apoi, mesajul nu merge la funcția de fereastră a aplicației. Este necesar să fim extrem de precauți, înlocuindu-i pe agenții de gestionare a mesajelor de sistem.

Există și un alt mod de a intercepta mesaje. Pentru a face acest lucru, trebuie să scrieți o metodă care are următoarea jantă

și înregistrați-l ca interceptor de mesaje de aplicație folosind metoda:

Dacă una dintre rutinele interceptoare, cum ar fi TWindowHook din lanț, returnează True, aceasta va însemna că mesajul a fost procesat.

Atunci când necesitatea de a intercepta mesaje dispare, metoda pe care ați creat-o trebuie exclusă din listă apelând metoda:

Dacă nu există mesaje în coadă, atunci lucrarea "de fundal" furnizată de programator poate fi executată. Pentru a face acest lucru, aveți nevoie de un handler de evenimente care este generat în această situație în interiorul metodei Idle din HandleMessage:







Handlerul trebuie să returneze un semn de cerință în evenimente ulterioare Ondle din parametrul Boolean Done. Dacă „făcut“ și Atribuie Done Adevărat, aplicația intră în modul de așteptare și de tratare a mesajului este invocat înainte de următoarea situație, lipsa mesajelor din coadă. Dacă False este returnat, metoda va fi apelată tot timpul când nu există mesaje.

Un exemplu de procesare a mesajelor OnMessage și Onldle este disponibil pe o dischetă (numele proiectului MOVLINES). Ei folosesc un program de economizor de ecran, care este numit de către sistem, după o anumită perioadă de timp, într-un handler Onldle ea desenează o linie de pe ecran și se oprește atunci când OnMessage manipulant primește un mesaj de la mouse-ul sau tastatura.

După cum puteți vedea din codul de mai sus pentru metoda Run, mesajele sunt procesate până când este setat steagul:

Acest semnalizator este setat la primirea mesajului WM_QUIT. Folosind-o, poți introduce acțiunile în etapa finală (după prelucrarea mesajelor înainte de a apela aplicația destructor). Această proprietate este numai pentru citire, astfel încât să puteți termina aplicația apelând metoda

care trimite un mesaj WM_QUIT. Pentru a procesa mesaje, o metodă

care returnează controlul atunci când sunt procesate toate mesajele din coadă. exemplu:

Una sau mai multe formulare de aplicații pot avea statutul fsStayOnTop, adică se află permanent pe lângă alte forme (care nu au această stare). Pentru a dezactiva temporar acțiunea sa, se folosesc câteva metode:

- dezactivează starea;

- o restabilește.

Aceste metode pot fi utile atunci când aveți nevoie să afișați informații deasupra unui formular cu statusul fsStayOnTop. În obiectul Application, ele sunt numite atunci când aplicația este dezactivată / activată, iar formularul principal este derulat / derulat.

Activarea și dezactivarea apar atunci când un utilizator sau o aplicație comută între sarcini Windows. Aplicația poate urmări aceste puncte. Când aplicația este activată sau dezactivată, apar evenimente:

Starea actuală a activității poate fi găsită în proprietate:

Evenimente care apar atunci când formularul principal de cerere este minimizat și restabilit, se aplică și obiectului Application:

Există două metode de executare a acestor operațiuni:

Aplicația are o metodă:

Formularul are, de asemenea, o metodă cu acest nume, care arată forma deasupra celorlalte și o activează. Diferența dintre aceste metode este aceea a formei. BringToFront activează formularul care a provocat-o și metoda Application.BringToFront este forma care a fost activă ultima dată.

Excepții pot apărea în timpul executării aplicației. Când apar, prelucrarea se face prin metoda:

Procesarea standard presupune apelarea unei metode

care afișează o casetă de dialog cu numele aplicației în antet și un mesaj de eroare (cuprins în parametru - obiectul E al clasei Excepție).

Procesarea standard poate fi suprascrisă (în toate cazurile, cu excepția manipulării excepției EAbort) prin definirea procesatorului de evenimente:

O serie de metode reglementează sistemul de ajutor. Pentru funcționarea normală, este mai întâi necesar ca numele fișierului de ajutor să fie specificat în proprietate:

Dacă este definită, apelul de ajutor poate fi efectuat prin trei tipuri de interogări, care corespund metodelor:

Face un apel de ajutor într-un anumit context.

funcția HelpJump (const JumpID: string): Boolean-

Oferă un apel de ajutor pentru șirul JumpID contextual. De exemplu, apelul către Application.HelpJump ("HelpJump") va da un indiciu despre această funcție.

funcția HelpConunand (Comandă: Word; Date: Longint): Boolean;

Trimite comanda de comandă către sistemul de ajutor cu parametrul Date. Pentru a descrie tipurile de comenzi, consultați ajutorul API pentru Windows WinHelp.


Toate funcțiile revin True dacă fișierul Ajutor este definit și este apelată o aplicație WinHelp.

Dacă doriți să interceptați un apel la sistemul de ajutor, trebuie să scrieți un handler de evenimente:

În acesta, puteți asigura furnizarea de asistență personală utilizatorului. Rezultatul funcției True înseamnă succes (este oferit ajutor). Dacă după procesarea evenimentului trebuie să apelați sistemul de ajutor Windows (prin WinHelp), atunci trebuie să reveniți la True în parametrul CallHelp.

conține un apel la o casetă de dialog standard cu același nume și scop.

Dacă doriți să utilizați un dialog creat cu ajutorul altor instrumente de programare în Delphi și să invocați din formularele de aplicație, atunci mânerul acestui dialog trebuie atribuit proprietății:

Regulile detaliate pentru lucrul cu această proprietate sunt descrise în documentația dezvoltatorului componentelor Delphi.

În cele din urmă, menționăm sistemul de consultanță promptă. Aplicația are propriul text de ajutor definit de proprietate:

Spre deosebire de indicii pentru alte componente, acesta nu este afișat când mouse-ul se oprește. Conținutul său este, de obicei, trecut la bara de stare.

Un număr de metode și proprietăți ale obiectului responsabil pentru implementarea sistemului prompt prompt sunt descrise în detaliu în secțiunea corespunzătoare. Prin urmare, ele sunt listate aici numai:







Articole similare

Trimiteți-le prietenilor: