Screensaver cu mâinile tale

Dorința de a face ceva cu propriile lor mâini - acest lucru este, în opinia mea, una dintre cele mai semnificative nu este pe scară largă, dar foarte gravă pe scara unei anumite motoare individuale ale progresului, care se află în stare latentă în cadrul fiecărei persoane. Asta este, desigur, că nu doarme deloc - mulți oameni lucrează activ pentru asta. Desigur, dorința de a crea se poate manifesta într-o varietate de moduri și, în opinia mea, programarea este o modalitate bună de auto-exprimare. Deci, acum vreau să le spun celor ale cititorilor noștri care au un programator dungă creativ cu privire la modul de a crea propriul economizor de ecran, de asemenea, cunoscut sub numele de protectorul de ecran și protectorul de ecran.

Prin urmare, mai întâi un pic despre ceea ce reprezintă un screensaver. Pentru utilizator, acesta este un screensaver care apare pe ecran atunci când computerul este inactiv pentru un timp. Din punctul de vedere al programatorului, acesta este cel mai comun program sub forma unui fișier EXE, deși are mai multe extensii non-standard - SCR. Desigur, puteți crea un screensaver folosind orice mediu de programare pentru Windows; vom folosi Delphi cu tine.

Este doar un manipulator al evenimentului de sistem: dacă sistemul spune să distrugă fereastra, va fi distrusă dacă va reexemina - bine, să redesenăm. Acum, puteți scrie și, de fapt, procedura de redactare a miniaturilor:

Acum, să înțelegem. În primul rând, variabilele necesare sunt declarate - mâner la (principal) fereastra părinte, fereastra copil al clasei noastre, iar variabila pentru a procesa mesaje. Mai întâi, tragem descriptorul ferestrei părinte de la parametrii liniei de comandă și apoi inițializăm clasa. După cum puteți vedea, aproape toți parametrii sunt setate la zero - astfel încât fereastra noastră nu va avea nici o pictogramă sau meniu, numai clasa „ScreenSaverClass01“ nume, de asemenea, se termină cu zero. Apoi, înregistrați clasa de ferestre utilizând procedura RegisterClass și apoi obțineți dimensiunea zonei pe care trebuie să o umplem cu fereastra noastră. Prin aceasta, vom crea fereastra copil, și apoi să creați o pânză pe care noi vopsea (e doar un înveliș pe VCL-context fereastra „miniaturi“), iar apoi există un standard pentru toate aplicațiile bazate pe Windows bucla de mesaje. După cum puteți vedea, poate fi întrerupt numai dacă sistemul însuși o dorește - și utilizatorul va dori să o facă. După pseudo infinit întreruperea ciclului, noi „ridica gunoi“ - fereastra de context și pânză.

Acum va exista o procedură de reacție a ferestrei principale la diferite mesaje de sistem. Este ea, care este responsabil pentru închiderea screensaver cu diferite acțiuni de utilizator. Este mai convenabil să o implementăm decât să închidem procedura la toți agenții de procesare a evenimentului din formularul nostru. Puneți componenta ApplicationEvents pe formular din fila Suplimentare. Faceți dublu clic pe evenimentul onMessage din inspectorul de obiecte și completați procedura după cum urmează:

Acum trebuie să adăugăm un handler de evenimente pentru evenimentul onIdle al aceleiași componente. Acesta va conține numai două linii:

După cum puteți vedea, aici tragem doar - doar în acele momente când sistemul nu este ocupat în nici un fel. Ei bine, acum totul este gata. Rămâne doar să schimbați unele proprietăți ale formularului principal și să scrieți mai multe coduri. Proprietățile sunt modificate: Culoarea neagră (clBlack), BorderStyle setată la bsNone și WindowState la wsMaximized. Acest lucru se face cu ajutorul unui inspector de obiect. Apoi, în meniul "Project", selectați "View Source", declarați o variabilă c de tip char, adăugați un modul de dialoguri care utilizează, ștergeți totul între început și sfârșit și scrieți următoarele rânduri:

Versiune imprimabilă

Articole similare