Fixar cursor em uma área

31/08/2004

0

Alguém tem uma função para fixar o cursor do mouse em uma determinada área de um panel?

Por exemplo: fixar o cursor entre o (top 10 até o top 12) e (left 2 até o left 100).


Imoreira

Imoreira

Responder

Posts

31/08/2004

Fórum Vini

Olá,
tem sim, use a função ClipCursor():
procedure TForm1.FormCreate(Sender: TObject);
var
  R: TRect;
begin
  R:= Rect(0, 0, 100, 100);
  ClipCursor(@R);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ClipCursor(nil); //Libera a movimentação do cursor
end;

Atenção que as coordenadas passadas devem ser coordenadas da tela, para transfomar coordenadas da área cliente em coordenadas da tela, use a função ClientToScreen() :wink:


Espero ter ajudado,
Vinicius;


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar