Como Ocultar e Mostrar o Cursor do Mouse em Delphi

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

Como Ocultar e Mostrar o Cursor do Mouse em Delphi

Controlar a visibilidade do cursor do mouse pode ser útil em várias situações, como em jogos, aplicações de tela cheia, ou interfaces personalizadas. Em Delphi, podemos fazer isso utilizando a função ShowCursor da API do Windows. Este post mostrará como você pode ocultar e exibir o cursor do mouse programaticamente em Delphi.

Dicas de Delphi
Dicas de Delphi

Introdução

A função ShowCursor permite alterar a visibilidade do cursor do mouse. Ao passar True, você incrementa o contador interno do sistema que controla a visibilidade do cursor. Quando este contador é positivo, o cursor é exibido; quando é negativo, o cursor é oculto. A função MouseShowCursor que vamos implementar ajusta esse contador conforme necessário para garantir que o cursor esteja visível ou oculto.

Código-Fonte

Abaixo está a função MouseShowCursor, que recebe um valor booleano indicando se o cursor deve ser exibido (True) ou ocultado (False).

function MouseShowCursor(const Show: boolean): boolean;
// MouseShowCursor(false); { Oculta o cursor }
// MouseShowCursor(true); { Exibe o cursor }
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;

Vamos analisar o código para entender como ele funciona.

Explicação do Código

  1. Declaração da Função
   function MouseShowCursor(const Show: boolean): boolean;

Esta linha declara a função MouseShowCursor, que recebe um parâmetro booleano (Show) e retorna um booleano indicando se a operação foi bem-sucedida.

  1. Variável de Controle
   var
     I: integer;

Aqui, declaramos uma variável I do tipo inteiro, que será usada para armazenar o estado do cursor.

  1. Chamada Inicial à API
   I := ShowCursor(LongBool(true));

Inicialmente, chamamos ShowCursor com LongBool(true) para obter o estado atual do cursor. Esta chamada também incrementa o contador interno do cursor.

  1. Bloco Condicional para Exibir ou Ocultar o Cursor
   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;

O bloco if Show then trata da exibição do cursor:

  • Se o cursor deve ser exibido (Show é True), garantimos que o contador seja positivo.
  • Utilizamos um while loop para continuar chamando ShowCursor até que o contador seja positivo. O bloco else trata da ocultação do cursor:
  • Se o cursor deve ser ocultado (Show é False), garantimos que o contador seja negativo.
  • Utilizamos um while loop para continuar chamando ShowCursor até que o contador seja negativo.

Exemplo Prático

Vamos ver um exemplo de como usar essa função em um programa Delphi.

procedure TForm1.ButtonShowClick(Sender: TObject);
begin
  if MouseShowCursor(True) then
    ShowMessage('Cursor exibido com sucesso')
  else
    ShowMessage('Falha ao exibir o cursor');
end;

procedure TForm1.ButtonHideClick(Sender: TObject);
begin
  if MouseShowCursor(False) then
    ShowMessage('Cursor ocultado com sucesso')
  else
    ShowMessage('Falha ao ocultar o cursor');
end;

Neste exemplo, temos dois botões: um para exibir o cursor (ButtonShowClick) e outro para ocultar o cursor (ButtonHideClick). A função MouseShowCursor é chamada com True ou False conforme a ação desejada.

Conclusão

Controlar a visibilidade do cursor do mouse em Delphi é uma tarefa simples usando a função ShowCursor da API do Windows. Com a função MouseShowCursor, você pode facilmente ocultar ou exibir o cursor em suas aplicações, melhorando a experiência do usuário conforme necessário.

Esperamos que este tutorial tenha sido útil. Se tiver dúvidas ou sugestões, deixe um comentário abaixo!

Gostou do Post ? Compartilhe com seus amigos nas redes sociais.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

☑️ Comunidades Colaborativas de Aprendizagem 💬

❓ Esclareça suas dúvidas e ajude outras pessoas a aprender sobre o assunto proposto em nossa comunidade colaborativa no Facebook.

Compartilhe ideias e atividades com outros membros enquanto aprendemos juntos em um ambiente virtual criado e mantido pelo webmundi.com.
Aproveite essa oportunidade gratuita para aprimorar seus conhecimentos e participar de discussões sobre o assunto que você está interessado.

☑️ Grupos WebMundi.com Facebook

✔️ Banco de dados : Dicas
▶️ https://bit.ly/dbbrasil

✔️ Windows Dicas
▶️ https://bit.ly/windowsdicas

✔️ Linux : Dicas, Truques e Tutoriais
▶️ https://bit.ly/linuxdicas

 

✔️ Dev Brasil : Desenvolvimento de Software : Programação (Java, Python, Javascript, Flutter, PHP, Html,CSS e muito mais)
▶️ https://bit.ly/devbrasil

✔️ Virtualização de Computadores : Tecnologia
▶️ https://bit.ly/virtualizabr

APOIE O WEBMUNDI.COM

Apoie o Projeto WebMundi.com!

Se você é fã do conteúdo gratuito e de qualidade que o WebMundi.com oferece no Site, Youtube e grupos, agora é a hora de demonstrar seu apoio e ajudar a mantê-lo disponível.
Qualquer doação, por menor que seja, será muito valiosa para nós e fará toda a diferença.

Basta utilizar o PIX ou o botão VALEU do Youtube para fazer sua contribuição.
Não perca essa oportunidade de ajudar a manter o WebMundi.com ativo e fornecer ainda mais conteúdo de qualidade para você e para outros.

Faça sua doação agora e seja parte da nossa comunidade de apoio!

Ajude a manter nossa criação de conteúdo e operação em funcionamento

Estrutura WebMundi | Sites e Canal Youtube

Ter presença na Internet implica em custos como:

  • Domínios (www.webmundi.com / www.webmundi.org)
  • Hospedagem (local onde fica a estrutura do site / páginas / banco de dados)
  • Softwares (programas utilizados para montar e manter o site em operação e edição de vídeo)
  • Layout e Desenvolvimento (profissionais que constroem, mantêm e divulgam o site e o canal)
  • Produção de Conteúdo (Profissionais como Redatores, Produtores, Editores de vídeo, etc…)
  • Certificados de Segurança (cadeado / segurança da página, possibilita a segurança na navegação e seus dados)
  • Manutenção do Site (atualizações do site, criação de novas páginas)

Loja Virtual | WebMundi.com

Outra forma de apoiar a criação de conteúdo no YouTube e em nossos sites é nossa loja virtual Parceria do WebMundi.com com as maiores plataformas de comércio eletrônico do Brasil. Nossa loja é integrada com nossos parceiros associados e possui uma ampla variedade de produtos de marcas renomadas. O Cliente ao escolher um produto é direcionado a loja parceira onde pode fazer sua compra com tranquilidade em um ambiente seguro e 100% confiável. Confira: Loja Virtual WebMundi.com Alguns de nossos parceiros associados:
Shopee Mercado Livre AliExpress Magalu Amazon
Obrigado pela confiança e preferência.

TALVEZ VOCÊ GOSTE TAMBÉM

Mais Assistidos
Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
Play Video about Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
atualizar windows 7 para windows 10 2020
Play Video about atualizar windows 7 para windows 10 2020
Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Play Video about Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Play Video about Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Como Instalar MySQL + MySQL Workbench : Windows 10
Play Video about Como Instalar MySQL + MySQL Workbench : Windows 10
Instalação Eclipse IDE - Windows
Play Video about Instalação Eclipse IDE - Windows

Discord : WebMundi.com

Uma comunidade apaixonada por tecnologia, onde entusiastas, estudantes e profissionais de TI se reúnem.

Faça Parte do nossa Comunidade!

Junte-se a nós para aprender, colaborar e expandir seus horizontes na área de informática! 🚀
Entrar
Recentes