"Sürükle ve bırak" tuşunu basılı tutarak Bilgisayar faresi hareket ettirilirken, nesneyi bırakmak için düğmeyi bırakın. Delphi, uygulamalara sürükleyip bırakmayı programlamayı kolaylaştırır.
Bir formdan diğerine veya Windows Gezgini'nden uygulamanıza istediğiniz gibi / istediğiniz yere sürükleyip bırakabilirsiniz.
Sürükleme ve Bırakma Örneği
Yeni bir proje başlatın ve forma bir görüntü denetimi koyun. Resim yüklemek için Nesne Denetçisi'ni kullanın (Resim özelliği) ve ardından DragMode mülkiyet dmManual. Bir TImage kontrol çalışma zamanını kullanarak sürükle ve bırak tekniği.
DragMode
Bileşenler iki tür sürüklemeye izin verir: otomatik ve manuel. Delphi, kullanıcının denetimi ne zaman sürükleyebileceğini denetlemek için DragMode özelliğini kullanır. Bu özelliğin varsayılan değeri dmManual'dır, yani bileşenleri yazmamız gereken özel durumlar dışında başvuruya izin verilmez. uygun kod. DragMode özelliğinin ayarından bağımsız olarak, bileşen yalnızca onu yeniden konumlandırmak için doğru kod yazıldığında hareket eder.
OnDragDrop
Sürükleme ve bırakmayı tanıyan olaya OnDragDrop olayı denir. Kullanıcı bir nesneyi bıraktığında ne olmasını istediğimizi belirtmek için kullanırız. Bu nedenle, bir bileşeni (görüntü) formdaki yeni bir konuma taşımak istiyorsak, formun OnDragDrop olay işleyicisi için kod yazmamız gerekir.
OnDragDrop olayının Source parametresi bırakılan nesnedir. Source parametresinin türü TObject şeklindedir. Özelliklerine erişmek için, onu bu örnekte TImage olan doğru bileşen türüne dökmeliyiz.
Kabul etmek
Formun üzerine bırakmak istediğimiz TImage denetimini kabul edebileceğini bildirmek için formun OnDragOver olayını kullanmalıyız. Kabul etmesine rağmen parametre OnDragOver olay işleyicisi sağlanmazsa, denetim sürüklenen nesneyi reddeder (Accept parametresi False olarak değiştirilmiş gibi).
Projenizi çalıştırın ve resminizi sürükleyip bırakmayı deneyin. Sürükleme sırasında görüntünün orijinal konumunda görünür kaldığına dikkat edin fare işaretçisi taşır. Sürükleme yapılırken bileşeni görünmez yapmak için OnDragDrop yordamını kullanamayız çünkü bu yordam yalnızca kullanıcı nesneyi düşürdükten sonra çağrılır (hiç değilse).
DragCursor
Denetim sürüklenirken sunulan imleç görüntüsünü değiştirmek istiyorsanız, DragCursor özelliğini kullanın. DragCursor özelliğinin olası değerleri, Cursor özelliğiyle aynıdır. BMP görüntü dosyası veya CUR imleç dosyası gibi animasyonlu imleçleri veya istediğinizi kullanabilirsiniz.
BeginDrag
DragMode dmAutomatic ise, imleç kontrol üzerinde olan bir fare düğmesine bastığımızda sürükleme otomatik olarak başlar. TImage'ın DragMode özelliğinin değerini varsayılan dmManual değerinde bıraktıysanız, bileşenin sürüklenmesine izin vermek için BeginDrag / EndDrag yöntemlerini kullanmanız gerekir. Sürükleyip bırakmanın daha yaygın bir yolu, DragMode'u dmManual'a ayarlamak ve fare aşağı olayları işleyerek sürüklemeye başlamaktır.
Şimdi, Ctrl + MouseDown sürüklemenin gerçekleşmesine izin vermek için klavye kombinasyonu. Ayarlamak TImageadlı kullanıcının DragMode'u dmManual'a geri döndürün ve MouseDown olay işleyicisini şu şekilde yazın:
BeginDrag bir Boolean parametresi alır. True (bu koddaki gibi) iletirsek sürükleme hemen başlar; Yanlışsa, fareyi kısa bir mesafe hareket ettirene kadar başlamaz. Ctrl tuşunu gerektirdiğini unutmayın.