Mivel nem ismerem a Turbo Pascal erre vonatkozó eredeti képességeit, egy gyors összefoglalóban jelzem hogy mi miként lett kivetelve, és mi hol érhető el. A dokumentációban részletesen leírtam mindent úgyis, példákkal.
function MouseX: integer;
function MouseY: integer;
Megadják az egér pillanatnyi pozícióját a grafikus képernyőn.
Az egér különféle műveletei kategóriákba vannak gyűjtve, pl. bal gomb lenyomása, mozgatás, dupla kattintás jobbgombbal, stb... Ezeket a Mouse... konstansok képviselik.
Minden egyes ilyen eseménynél ha történik valami azt a grafikus ablak megjegyzi, és a billentyűleütésekhez hasonlóan később lekérdezhetőek.
Így tehát:
azzal a különbséggel hogy első paraméterként mindig meg kell adni hogy melyik eseményre vagyunk kíváncsiak.
Egy dologban különbözik ezen két eljáráspár a billentyűzettől:
A billentyűzeten ha gyorsan begépelünk egy csomó betűt, azokat a ReadKey sorban veszi ki egy várólistából és nem hagy egyet sem veszni.
Az egérnél ez a várólistázás alapból erőforráskímélés miatt ki van kapcsolva, ezért ilyenkor csak a legutolsó kattintást tárazza be, és a korábbiak mindig elvesznek. A várólistát ha szükségünk van rá bekapcsolhatjuk a SetMouseQueueStatus eljárással, és akkor a billentyűzettel analóg módon működik.
Harmadik alternatívaként megadható egy egérkezelő eljárás ami lefut minden egyes alkalommal ha az adott esemény bekövetkezik. Az ilyen eljárásokat a RegisterMouseHandler eljárással állíthatjuk be az eseményekhez.
Ezekről részletes információt a dokumentációban talál.