Delphi drag & drop leckéket, megtanulhatja, hogyan húzza át a képet formában

csak hasznos anyagok

Alibaba fő részvényese lett Kína leggazdagabb embere
Cikkek

A Microsoft elindította az Office 16 zárt tesztelését
Cikkek

A szakértők biztonsági réseket találtak a Windows 8.1-ben
Cikkek

A moszkvai metró egy egységes mobilhálózat lesz
Cikkek

Az eBay elfogadja a Bitcoint
Cikkek

Vivitek bemutatta az "iskolai" projektort D755WTIR
Cikkek

A "Vásárlás" gomb megjelent a Twitteren
Cikkek

A "Yandex.News" mostantól megtekinthető az iPhone-on
Cikkek

Ebben a leckében megtanuljuk, hogyan húzzuk az egeret az Image komponens alakításával.

1. Hozzon létre egy új projektet az űrlapon, lecsökkentjük a Képelemet a További lapról. Azonnal töltsön be képet bármilyen képre, amit szeretsz!

2. Először határozzuk meg, hogy a felhasználó miként mozgatja az objektumot az űrlapon. Ezt javaslom: ha megnyomja az egérgombot, és a Ctrl billentyűt megtartja, húzhatjuk. Ehhez a Kép komponensen hozza létre az OnMouseDown eseménykezelőt, amelyen ezt a sort írjuk

ha ssCtrl a Shift-ben, majd Image1.BeginDrag (True);

IE, amikor megnyomjuk az egérgombot, ellenőrizzük az állapotot: ha megnyomjuk a CTRL billentyűt, húzhatjuk

Miközben a Képösszetevőt az űrlapon, valamint a gomb felengedésekor húzza, az Űrlapnak van egy eseménye:
OnDragOver - amelyben meg kell adnunk az űrlapot, hogy elfogadja-e ezt az elemet (a mi esetünkben)

Szóval, hozzunk létre egy OnDragOver eseménykezelőt az űrlapon, és benne fogunk írni ezt a sort

Elfogadás: = (Forrás TImage); // Engedélyezze a Kép komponens elfogadását

3. Most csak meg kell adnunk a programnak, mit kell tennie, amikor a felhasználó kiadja a gombot, vagyis befejezte a húzást. Ebből a célból létezik egy OnDragDrop esemény, az esemény kezelőjeként a forrásparaméterek (forrás objektum) és az X és Y kurzorkoordináták kerülnek átadásra. Általában létrehozunk egy OnDragDrop eseménykezelőt az űrlapon és a kezdeten. írjon:

ha Forrás TImage, akkor // Ha a komponens képét húzzuk, akkor
kezdődik
TImage (forrás) .Left: = X; // Mozgassa a képelemet az X kurzor koordinátáihoz //
TImage (forrás) .Top: = Y; // Mozgassa a kép komponensét a kurzor koordinátáihoz // segítségével Y
végén;

Ez minden, amit el tudsz kezdeni. Ha valaki nem érti, hogy miért ilyen funkciója, adok egy egyszerű példát - ez pontosan mit kell használni műemlékek gránit és márvány itt, mint a nehéz, de ugyanakkor ezek nélkül nem csinál. ugyanaz a dolog a modern programban anélkül, hogy húzni (DragDrop) bárhová!

Ui Teljes példa kód:

eljárás TForm1.FormDragDrop (Sender, Forrás: TObject; X, Y: Integer);
kezdődik
ha a Forrás a TImage akkor
kezdődik
TImage (forrás) .Left: = X;
TImage (forrás) .Top: = Y;
végén;
végén;

eljárás TForm1.FormDragOver (Feladó, Forrás: TObject; X, Y: Integer;
Állami: TDragState; var Elfogadás: Boolean);
kezdődik
Elfogadás: = (Forrás TImage);
végén;

eljárás TForm1.Image1MouseDown (Feladó: TObject; Gomb: TMouseButton;
Shift: TShiftState; X, Y: Integer);
kezdődik
ha ssCtrl a Shift-ben, majd Image1.BeginDrag (True);
végén;

A Delphi Expert.ru-nál találkozunk.