Tecnobyte Informática

Delphi - Teclado e Mouse

Como limitar a região de movimentação do mouse?

Inclua na seção uses: Windows

{ Coloque um botão no form e altera o evento OnClick dele
  conforme abaixo: }

procedure TForm1.Button1Click(Sender: TObject);
var
  R: TRect;
begin
  { Pega o retângulo da área cliente do form }
  R := GetClientRect;
  { Converte as coordenadas do form em coordenadas da tela }
  R.TopLeft := ClientToScreen(R.TopLeft);
  R.BottomRight := ClientToScreen(R.BottomRight);
  { Limita a região de movimentação do mouse }
  ClipCursor(@R);
  ShowMessage('Tente mover o mouse para fora da área cliente do Form');
  { Libera a movimentação }
  ClipCursor(nil);
end;

Observações

Cuidado! Isto pode irritar o usuário do seu programa.