Egér a Delphi

Kezdőlap Cikkek Reshix Program: Matematika

Lásd még :. színek Delphi Battleship DivTimer

/ * TODO: tanulni programozást * /

A Delphi, van két alapvető megközelítés az információ megszerzése a kurzort: egy sor funkciót és a TMouse interfész (esetleg kényelmesebb). De még mindig azt fogom mondani neked a kettő. Különösen azért, mert TMouse keresztül működik ugyanezen funkciókat.

A helyzet a kurzor

Először is nézzük foglalkozik a koordináta-rendszer. Ő egy globális, kezdve a bal felső sarokban, az X tengely arra irányul, hogy a megfelelő, Y tengely lefelé. A maximális érték az X és Y koordinátákat lesz, illetve a szélessége és magassága a képernyő pixel. Ezek a legegyszerűbb módja, hogy használja képernyő modul „Űrlapok”:

Megjegyezzük, hogy a koordinátákat a jobb alsó sarokban függ a felbontás.

A koordináták

Azt viszont, hogy megkapjuk a koordinátákat magukat. Mert ez a funkció a modul GetCursorPos „Windows”:

Talán használni nem nagyon kényelmes - egy változó, amely rögzíti a szükséges információkat, átkerül a funkciója, mint a paraméter. Ugyanakkor egyetértek azzal, hogy sokkal kényelmesebb tárolni a koordinátákat együtt, egy fajta TPoint. Azok számára, akik nem tudják, hogyan kell dolgozni TPoint (? Sosem lehet tudni), hogy megkapjuk a koordinátákat történik, mint ez:

Nem, még mindig kényelmetlen. Nézzük a második módszer: ez a modul „Controls” nyilvánították Mouse.

Vele munkát szebb, ez nem feltétlenül zárja ki extra változó, mivel Mouse.CursorPos már a változó típusú TPoint. Összesen:

Vigye a kurzort

Ezúttal talán az első változat előnye. Elég csak venni, és egyszerűen hívja SetCursorPos. mind ugyanabba a modul „Windows”:

A második lehetőség, de túl sok nem jelent problémát. egy pár Elegendő lehet átalakítani a (x, y) TPoint és mentse el:

Érdemes megjegyezni, hogy csak nem fog működni változtatni csak az egyik koordináta:

Itt nagyon kényelmes - A kurzort történik azonnal, anélkül, hogy a közbenső pont.

Ha rákattint az egér gombjai

Térjünk át az aktívabb az egér intézkedéseket. Tekintsük mouse_event funkció modul „Windows”:

Általában ez egy meglehetősen bonyolult függvény, és ez lehet mozgatni a kurzort, de szorítkozom megnyomásával. Ahol van egy részletesebb leírás található itt.

A gomb megnyomásakor mindig bekövetkezik, a kurzor, ezért itt használhatatlan továbbítja a koordinátákat, csupán arra van szükség, hogy lépjen a kívánt helyre megnyomása előtt. Itt van egy lista a állandók, amelyek meghatározzák, hogy mit akarunk, hogy nyomja meg:

Néhány ezek közül mindenképpen már a változata Delphi a modulban a „Windows”, ők itt látható, ha valami hiányzik.

Figyelem! Ne felejtsük el, hogy engedje el a gombot!

Összesen, hogy van: annak meghatározására, hogy a dwFlags; dx és dy jelentése 0; A dwData kódja X gomb, amelyre kattintva, egyébként 0; dwExtraInfo is 0. A lehetséges értékek X-kód gomb:

Egérgörgető

Segítségével az összes ugyanazt a funkciót mouse_event is görgető kerék. Ehhez két állandók:

Alkalmazás: dwFlags - esemény kódja scroll; dx és dy - 0; dwData - az összeg, amellyel a tekercseket; dwExtraInfo - 0. dwData értéke lehet vagy egy többszörös WHEEL_DELTA:

Mi tesz egy görgővel három lépésben és lehet sokkal kisebb, mint például:

Mi az, hogy görgetés lépésben 1/5. DwData jel határozza meg az irányt a görgetés: a pozitív pedig felfelé irányuló mozgás, forgás a felhasználó; negatív - le, a forgatás a felhasználó. Mivel azonban az a tény, hogy ezt a paramétert előjel nélküli DWORD (0..4294967295 tartomány), aztán, ha nem véletlenül használja a negatív értékek - A típus DWORD:

kurzor elrejtése

Különleges ShowCursor funkció modul „Windows”, mint a paraméter kap olyan állapotban kell átvenni (True - látható, False - láthatatlan):

1. példa: A kurzort 120 pixel, hogy a jobb és a 40 felfelé.

2. példa: nyomjuk meg a bal gombot, amikor a kurzor szigorúan a bal alsó sarokban.

By the way, a kód kissé rövidíteni átadó préselés és kiadás egyszerre egyetlen akció:

Nem tudom, ha az szerepel, de én tökéletesen működik

Anyag oldal licenc alatt CC BY-SA 4.0

Kapcsolódó cikkek