Ograniczenie obszaru poruszania się kursora

Aby po kliknięciu przycisku Button1 ograniczyć użytnikowi obszar, po którym może on poruszać kursorem wywołujemy funkcję Windows API SetRect() podając jako jej argumenty wskaźnik do zmiennej typu RECT i współrzędne: x lewej krawędzi, y górnej krawędzi, z prawej krawędzi i y dolnej krawędzi w rezultacie zmiennej typu RECT, której wskaźnik podaliśmy zostają przypisane te współrzędne, następnie wywołujemy kolejną funkcją Windows API ClipCursor(), która ogranicza obszar, po którym możemy poruszać kursorem podając jako argument utworzoną wcześniej zmienną typu RECT:

Unit1.cpp

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   RECT obszar;
   SetRect(&obszar, 0, 0, 100, 100);
   ClipCursor(&obszar);
}

Należy też pamiętać, aby podczas kończenia działania programu ustawić cały dostępny ekran jako obszar po którym możemy poruszać kursorem:

Unit1.cpp

void __fastcall TForm1::FormClose(TObject *Sender)
{
   RECT obszar;
   SetRect(&obszar, 0, 0, Screen->Width, Screen->Height);
   ClipCursor(&obszar);
}