Delphi. Sintaxa. Trageți și aruncați
TDropper - Componenta pentru glisarea și plasarea fișierelor
Probabil că toți știu că există o astfel de tehnologie de schimb de date, cum ar fi DragDrop (tradusă ca "Drag and drop"). Linia de jos este că utilizatorul poate trage orice date (de exemplu, fișiere) de la un program la altul.
De exemplu, în Windows Explorer, puteți trage un fișier și un grup de fișiere între diferitele instanțe ale Explorer. Ca rezultat, un fișier sau grup de fișiere este pur și simplu copiat la destinație, iar datele originale sunt șterse.
Această arhitectură de schimb de date vă permite să simplificați în mod semnificativ activitatea utilizatorului final. De exemplu, în fișierele Archiver WinRAR built-in caracteristici nu face numai fișierele trase în fereastra programului, și să le împachetați în arhiva curentă, dar, de asemenea, trageți și plasați fișierele din arhivă, scoate-le la destinație. Aceste funcții fac lucrul cu arhivele în WinRar să funcționeze cu fișiere obișnuite în Explorer.
Este ușor să luați fișiere - acest lucru se poate face folosind API-ul și ShellAPI, dar cum pot face ca fișierele să fie trase din aplicația dvs.? M-am gândit la această problemă acum un an și am crezut că ar fi ușor și, recent, era necesar doar pentru arhivatorul meu de fișiere.
Ca rezultat, soluția a fost găsită - componenta TDropper a fost creată, ceea ce vă permite să trageți în proiectele dvs. capacitatea de a glisa și fixa fișiere din fereastra programului în Windows Explorer sau în altă fereastră de program.
Lucrul cu componenta este foarte simplu, trebuie să setați proprietatea Enabled la True și la momentul potrivit (la momentul inițierii tragerii) apelați metoda TDropper.StartDrag. Cursorul mouse-ului se modifică la o săgeată cu semnul plus. Iar când utilizatorul eliberează butonul mouse-ului, se cheamă evenimentul TDropper.OnDropUp, în care trebuie să introduceți numele fișierelor în lista de fișiere pentru tragere.
Notă: Când lucrați de sub Delphi, tragerea poate provoca erori care sunt prinse de Delphi, dar acestea nu sunt găsite în aplicația finală.
Componenta este gratuită pentru utilizare comercială și necomercială și cu sugestii și dorințe - scrieți.