Array
(
)

Fixar cursor em uma área

Imoreira
   - 31 ago 2004

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).


Fórum Vini
   - 31 ago 2004

Olá,
tem sim, use a função ClipCursor():
#Código

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;