Delphi - TPageControl lapjainak automatikus váltása, ha az egérrel rámutatunk az adott lapra

forráskód letöltése
Ebben a cikkben egy olyan tulajdonsággal egészítjük ki a TPageControl komponenst, amely lehetővé teszi, hogy annak az egyes lapjai között kattintás nélkül váltson a felhasználó. Egyik lapról a másikra való váltáshoz elegendő, ha egérrel rámutat a kívánt lapra. Az egér mozgásának figyeléséhez az OnMouseMove eseményt használjuk fel. Mikor ez létrejön, akkor viszont el kell döntenünk, hogy a felhasználó vajon melyik lapra is mutatott.

Ennek meghatározásához küldünk egy TCM_HITTEST üzenetet a TPageControl komponensnek, egy TTCHitTestInfo típusú paraméterben átadva neki az egér aktuális koordinátáját.

Ha a visszatérési érték nem negatív szám, akkor sikerült a koordinátából meghatározni, hogy a felhasználó hányadik lapra mutat. Ezek után a váltás már nem jelent akadályt.