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
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.