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