Olá minha gente, salve, salve.
Você já deve ter usado algum aplicativo, que ao minimizar, vai para a bandeja do Windows, logo ali, perto do relógio.
Se você deseja implementar este recurso na sua aplicação e não sabe como fazer isso no Delphi, na dica de hoje, vamos aprender como fazer.
Geralmente, esse recurso é mais utilizando em aplicações do tipo serviço, mas, este recurso pode ser aplicado em qualquer aplicação.
Vamos imaginar o seguinte cenário, para facilitar o entendimento do recurso:
Suponha que você tem um ERP integrado a um app mobile, no qual, o ERP, precisa sincronizar determinados dados com o app mobile, por exemplo, pedidos feitos no app, precisam ser recebidos no ERP.
Para possibilitar esse sincronismo de dados, imaginemos que possui um serviço que deve ficar em execução, sendo ele, o responsável por este sincronismo, portanto, o mesmo não pode ser fechado.
O usuário pode fechar o serviço por engano, ou como dizia o chaves "sem querer querendo", se isso ocorre, após poucos minutos, ele vai te ligar, disparando uma torrente de xingamentos com todos os palavrões existentes 😤, e dizendo que seu produto é uma porcaria porque os pedidos feitos no app mobile não estão aparecendo no ERP, é sério, isso acontece as vezes, o usuário faz coisas que até Deus duvida, acredite.
Uma maneira de evitar esse tipo de situação, é programar um recurso que quando o usuário clicar para fechar ou minimizar a aplicação ou serviço, a mesma seria sempre minimizada na bandeja do Windows, sendo assim, continuaria em execução em segundo plano, evitando essa ligação amorosa do usuário 😤. Legal, mas como fazer isso no Delphi? Sigam-me os bons...
O que é a bandeja do sistema (System Tray - Systray)?
Em síntese, é uma área de notificação, também conhecida como área de status e barra de menus, dependendo do sistema operacional em uso, que fica localizado geralmente na barra de tarefas do sistema operacional, contendo ícones que permitem aos usuários acesso à aplicações, serviços ou funções do sistema, como por exemplo, spooler da impressora, volume do sistema, conexões de rede, relógio, antivírus e etc.
Os ícones podem indicar status de determinados processos que estão em execução no computador. Ao passar o mouse sobre os ícones, dar um duplo clique ou ainda, por meio do clique com o botão direito do mouse, é possível visualizar o status, acessar a aplicação ou serviço e até configurar, controlar o aplicativo associado.
A bandeja do sistema está disponível nos sistemas operacionais, seja desktop ou móvel(Windows, Mac OS, Linux, Android e iOS). No caso do Windows, geralmente fica no canto inferior direito, no Linux, geralmente fica no canto superior direito, tudo depende do sistema operacional em uso, podendo inclusive, alterar sua posição.
No Windows, a bandeja do sistema podem ter alguns comportamentos, como por exemplo:
- Ao clicar duas vezes no ícone inicia o programa correspondente;
- Exibir uma caixa de diálogo;
- Ao passar o mouse sobre um ícone, uma mensagem pop-up ou status do processo poderá ser exibida;
- Ao clicar com o botão direito do mouse em um ícone, pode abrir um menu de opções, controle de volume e etc.
Mas agora, chega de lero lero, cremos que ficou bem entendido a questão, agora vamos partir para a prática no Delphi.
Minimizando uma aplicação na bandeja do Windows com Delphi
No Delphi, o componente responsável por permitir essa implementação é o "TrayIcon", presente na unit "Vcl.ExtCtrls.TTrayIcon".
Este componente, cria um ícone na bandeja do sistema ao lado do relógio. Ele possui eventos para cliques do mouse, propriedades para menus e animação do ícone, além de métodos para mostrar dicas de balão.
Com o Delphi aberto, crie um novo projeto e adicione dois componentes: TTrayIcon(ícone de bandeja) e TApplicationEvents(eventos do aplicativo).
O objetivo do nosso exemplo é, quando o usuário minimizar o aplicativo, o formulário será oculto e o ícone de bandeja será carregado. Ao passar o mouse sobre o mesmo, será exibido um balão de dicas e ao dar um duplo-clique, o aplicativo será restaurado para a tela.
Então, mãos a obra, os códigos estão bem comentados, dispensando explicações massantes.
No evento "OnCreate" do formulário principal, implemente-o da seguinte maneira:
Muito bem, só rodar a aplicação e testar. Assim chegamos ao final de mais uma dica rápida, um abraço, até a próxima.
Links
- TTrayIcon - Embarcadero;
(Por ClipaTec Informática)
0 comments:
Postar um comentário
Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!