Mutarea imaginii pe formular în timp ce aplicația rulează în Delphi, programarea în delphi - web,

Acum, scrieți instructorul OnMouseDown pentru imaginea noastră:

În această secțiune a codului, verificați ce buton ați făcut clic pe imagine. Dacă este lăsat, amintiți-vă coordonatele și, dacă este altceva, atunci nu vă puteți mișca. Acum, scrieți manualul OnMouseMove pentru imaginea noastră:







Ei bine și în cele din urmă pe handler OnMouseUp pentru imaginea noastră va fi astfel:

Aici totul este foarte simplu. Când butonul este eliberat, variabila de mutare este setată la falsă, astfel încât să nu poată fi mutată până la următorul clic pe imagine. Această metodă este destul de simplă, atât pentru înțelegere, cât și pentru implementare. Dar același algoritm de deplasare poate fi realizat puțin mai frumos. Unele componente, inclusiv Image, au o procedură răcoritoare SetBounds (Stânga, Top, Lățime, Înălțime), care pot schimba toți cei patru parametri simultan. Prin urmare, evenimentul OnMouseMove poate fi modificat după cum urmează:







Dar există și un alt mod foarte interesant: puteți să mutați ecranul nu pe imaginea însăși, ci doar pe cadrul său, atunci când utilizatorul selectează un loc pentru imagine și eliberează butonul - se va deplasa acolo. Pentru a face acest lucru, avem nevoie de o altă variabilă globală: rec: TRect, care va stoca parametrii imaginii. Acum, schimbați usor manipulatorii de evenimente pentru imagine. Astfel, totul ca un întreg va arăta astfel:

Deoarece DrawFocusRect desenează cadrul folosind metoda Xor, atunci când funcția este chemată din nou cu aceiași parametri, cadrul este șters. Această metodă foarte frumoasă va adăuga o mulțime de interesante pentru programele dvs. Foloseste-o.

Citiți și:







Articole similare

Trimiteți-le prietenilor: