31/08/2004

Fixar cursor em uma área

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

Respostas

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 Citar