Delphi alapjai az egérrel való munka során

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

Delphi alapjai az egérrel való munka során

Ebben a leckében megnézzük a főbb események felelőssége mellett az egérrel, és megtanulják, hogyan kell bizonyos műveleteket, ezen események bekövetkezésekor. Csak azt akarom mondani, hogy a lecke célja a közönség, hogy épp most kezdett tanulni Delphi, ezért kérje guru programozó nem dobja záptojás rám és hulladék alma)))

Három fő eseménykezelő van: OnMouseDown
onMouseMove
onmouseup

A MouseDown esemény akkor aktiválódik, amikor a felhasználó rákattint az egérgombra.
Az OnMouseUp esemény akkor lép életbe, amikor a felhasználó kiadja az egérgombot
Az OnMouseMove esemény akkor fordul elő, amikor az egér kurzor mozogni kezd.

Azt hiszem, mostanra mindent meg kell értened!

Nyisd ki a Delphit, és hozz létre egy új projektet. Ha egy új formája, az Object inspector'e mozgassa az Események lapon (események), és megtalálja ott a onMouseDown esemény, kattintson rá kétszer. Ennek eredményeképpen a Delphi létrehozza a megfelelő eljárást:

eljárás TForm1.FormMouseDown (Feladó: TObject; Gomb: TMouseButton;
Shift: TShiftState; X, Y: Integer);

Amint már valószínűleg már észrevette, hogy az eljárásnak több paramétere van, nézzük meg néhányat részletesebben

Gomb: TMouseButton; - jelzi, hogy meg tudjuk határozni, hogy mely egérgombot (balra, jobbra) nyomtak le.

A TMouseButton előre definiált konstansok értékeit veszi fel.
mbLeft - bal egérgomb
mbRight - jobb egérgomb
mbMiddle a középső egérgomb.

Shift: TShiftState; - Ezzel a paraméterrel kombinálhatjuk a felhasználó tevékenységét a billentyűzet eseményével, ezt az alábbiakban tárgyaljuk.

Végül az X és az Y változók tárolják az egérmutató koordinátáit.

Írjuk be a következő kódot a már létrehozott OnMouseDown eseménykezelőben:

Futtassa a projektet, kattintson az űrlapra. Ennek eredményeképpen, minden kattintással négyzetet rajzol az űrlapon. Kiváló!

Továbbra is, most kissé megnehezítjük a kódot, és így teszünk, hogy a bal egérgombra kattintva piros kört rajzolunk, és a jobb kék négyzetre kattintunk.

Gomb gombja
mbLeft:
kezdődik
Canvas.Brush.Color: = clRed;
Canvas.Ellipse (x-20, y-20, x + 20, y + 20);
végén;
mbRight:
kezdődik
Canvas.Brush.Color: = clBlue;
Canvas.Rectangle (x-20, y-20, x + 20, y + 20);
végén;
végén;

Futtathatja a projektet, és ellenőrizheti az eredményt.

Tehát az OnMouseUp és az OnMouseDown eseményekkel, mint rendezni, menjen az OnMouseMove eseményre. Amint fent említettem, az esemény akkor következik be, amikor a felhasználó az egérmutatót valamilyen vezérléssel mozgatja.

Hozzunk létre egy felvezető onMouseMove események és megteszi, ha a felhasználó azt tartsa lenyomva a Shift billentyűt és az egér mozgatásával egyidejűleg vonjuk sírhalom, és ha a Ctrl billentyűt lett szorítva, és tette az egér mozgását lesz festve téglalap.

Az eljárás teljes kódja a következő:

eljárás TForm1.FormMouseMove (Feladó: TObject;
Shift: TShiftState; X, Y: Integer);
kezdődik
ha ssShift a Shift-ben majd
Canvas.Ellipse (x-20, y-20, x + 20, y + 20)
Egyébként ssCtrl a Shift-ben
Canvas.Rectangle (x-20, y-20, x + 20, y + 20);
végén;

Ennek kaptam mindazt, amivel találkozunk a következő leckében.

Kapcsolódó anyagok

Kapcsolódó cikkek