Ocultando o cursor do mouse no seu aplicativo

 

A dica deste artigo, é uma função que tem o objetivo de ocultar o cursor do mouse em sua aplicação. Mostrarei um exemplo que utiliza está função.

Construindo a aplicação

Primeiramente declare a função "MouseShowCursor" na seção Private ou Public do editor de código:

 

private

  function MouseShowCursor(const Show: boolean): boolean;

 

Esta função que irá ocultar e mostrar o cursor do mouse. Notem que ela é uma função booleana, onde ela retorna apenas valor verdadeiro ou falso. Em seguida na seção Implementation você escreve a função.

Exemplo:

 

function Tform1.MouseShowCursor(const Show: boolean): boolean;

var

  I: integer;

begin

  I := ShowCursor(LongBool(true));

  if Show then

  begin

    Result := I >= 0;

    while I < 0 do

    begin

      Result := ShowCursor(LongBool(true)) >= 0;

      Inc(I);

    end;

  end

  else

  begin

    Result := I < 0;

    while I >= 0 do

    begin

      Result := ShowCursor(LongBool(false)) < 0;

      Dec(I);

    end;

  end;

end;

 

No formulário coloque dois objetos Buttons e modifique suas propriedades captions conforme a tabela abaixo:

 

Button1

Ocultar

Button2

Mostrar

 

 

 

 

Arrume os botões no form de acordo com a figura abaixo:

 

 

No evento OnClick do botão Ocultar você irá colocar o seguinte código:

 

MouseShowCursor(false);

Button2.SetFocus;

 

E no botão mostrar você irá colocar o seguinte código:

 

MouseShowCursor(true);

Explicando o código

A função MouseShowCursor como mostramos, retorna um valor booleano, veja que seu uso é bastante fácil. Quando clicamos no botão ocultar a função é chamada retornando um valor falso, e com isso, ocultando o cursor e em seguida passando o foco para o botão mostrar. O botão mostrar funciona ao contrário, como o cursor do mouse é ocultado, só poderíamos mostrá-lo novamente acionando o botão mostrar através do teclado, pois o foco está nele. Quando apertamos a tecla de espaço ou enter com o foco no botão mostrar a função MouseShowCursor retorna um valor verdadeiro, fazendo assim retornar o cursor do mouse.