Delphi drag & drop lecții, să învețe cum să tragi o imagine într-o formă

numai materiale utile

Acționarul principal al Alibaba a devenit cel mai bogat om din China
Articole

Microsoft a început testarea închisă a Office 16
Articole







Experții au găsit găuri de securitate în Windows 8.1
Articole

În metroul din Moscova va fi o rețea mobilă unificată
Articole

eBay va accepta Bitcoin
Articole

Vivitek a prezentat proiectorul "școală" D755WTIR
Articole

Butonul "Cumpărați" a apărut pe Twitter
Articole

"Yandex.News" poate fi acum vizualizat pe iPhone
Articole

În această lecție, vom învăța cum să tragem componenta Imagine folosind mouse-ul.

1. Creați un nou proiect pe formular, lăsăm componenta Imagine din fila Suplimentare. Imediat încărcați în imagine orice imagine vă place!

2. Mai întâi, să definim modul în care utilizatorul va muta obiectul în formular. Eu propun să facă acest lucru, dacă butonul mouse-ului este tinut apasat tasta Ctrl poate trage apoi și picătură. Pentru a face acest lucru, creați un handler componentă de imagine onmousedown evenimente în care prevăd doar o astfel de linie

dacă ssCtrl în Shift apoi Image1.BeginDrag (True);

TE atunci când apăsați butonul mouse-ului, verificați starea: dacă este apăsată tasta CTRL poate trage







În timp ce glisarea componentă a imaginii pe formular, și atunci când eliberați butonul, evenimentul are loc în formele:
OnDragOver - În care trebuie să spunem formularului dacă va accepta acest element (în cazul nostru Image)

Deci, să creăm un handler de evenimente OnDragOver pe formular și în care vom scrie această linie

Acceptați: = (Sursa este TImage); // Activați acceptarea componentei Imagine

3. Acum trebuie doar să spunem programului ce să facă atunci când utilizatorul eliberează butonul. Asta a terminat tragerea. În acest scop, există un eveniment OnDragDrop. În cazul unui handler al evenimentului, parametrii Sursă (obiect sursă) și coordonatele cursorului X și Y sunt trecute. În general, vom crea un handler de evenimente OnDragDrop pe formular și între începe. sfarsit scrie:

dacă Sursa este TImage atunci // Dacă tragem componenta Imagine atunci
începe
TImage (Sursă). Dreapta: = X; // Mutați componenta Imagine la coordonatele // cursorului X.
TImage (Sursă) .Top: = Y; // Mutați componenta Imagine la coordonatele // cursorului cu Y
se încheie;

Asta e tot ce poți începe. Dacă cineva nu înțelege de ce o astfel de funcție, am da un exemplu simplu - este exact ceea ce sa utilizeze monumente de granit si marmura aici ca grele, dar în același timp, fără să-i nu face. același lucru în programul modern, fără a trage (DragDrop) oriunde!

P.S. Cod exemplar complet:

procedura TForm1.FormDragDrop (Expeditor, Sursa: TObject; X, Y: Integer);
începe
dacă Sursa este TImage atunci
începe
TImage (Sursă). Dreapta: = X;
TImage (Sursă) .Top: = Y;
se încheie;
se încheie;

procedura TForm1.FormDragOver (Expeditor, Sursa: TObject; X, Y: Integer;
Stat: TDragState; var Acceptați: Boolean);
începe
Acceptați: = (Sursa este TImage);
se încheie;

procedura TForm1.Image1MouseDown (expeditor: TObject; buton: TMouseButton;
Schimbare: TShiftState; X, Y: Integer);
începe
dacă ssCtrl în Shift apoi Image1.BeginDrag (True);
se încheie;

Ne vedem la Delphi Expert.ru.







Trimiteți-le prietenilor: