terça-feira, 26 de junho de 2012

O Delphi possui um componente chamado TTrayIcon, que está na paleta Additional.
Esse componente permite seja exibido um ícone na bandeja do sistema do Windows (Do lado do relógio).
As principais propriedades do TrayIcon são:

BallonFlags: Informa o tipo do balão que o ícone vai exibir
BallonHint: A mensagem que o balão exibirá
BallonTimeout: O tempo que ele ficará exibido em milisegundos
BallonTitle: Título da mensagem
Icon: Icone a ser exibido
Visible: se será mostrado ou não.

Adicione um TTrayIcon e mude as propríedades da maneira que desejar, o meu ficou desta forma:



Se você marcou a propriedade Visible para True, então quando você executar sua aplicação vai perceber a presença do ícone na bandeja do sistema.
Para exibir o balão de notificação do TrayIcon, basta usar:

TrayIcon1.ShowBalloonHint;

Caso queira esconder o formulário, use:


TrayIcon1.ShowBalloonHint;
Form1.Hide;



Como faço para mostrar o formulário novamente?

Simples, adicione o comando a seguir no evento onClick ou no evento onDblClick do TrayIcon.
Se você colocar no onClick, ao clicar no icone a janela será restaurada,. Se colocar no onDblClick, será necessário dar um duplo clique para restaurar a janela.

Form1.Show;

Simples e útil, não acham?

É isso aí galera, abraço e até a próxima!


8 comentários:

  1. Anônimo30.6.12

    muito bom

    ResponderExcluir
  2. 謝謝分享代碼(C0de)THKS.

    ResponderExcluir
  3. Anônimo28.2.14

    Testado e não funciona:
    Quando clicado no trayicon no canto direito da tela nada acontece...

    ResponderExcluir
  4. Olá, não se esqueça de adicionar o comando no Evento onDblClick do TrayIcon.
    Abraço.

    ResponderExcluir
  5. Anônimo21.9.15

    ótimo.. me ajudou muito

    ResponderExcluir
  6. Como manter o balao da notificação e fechar quando houver o click no balao ?

    ResponderExcluir
  7. Bom dia

    Error reading TrayIcon1.Visible: Cannot assign a TIcon to a TIcon.

    Esse erro ocorre quando eu disparo em algum evento..
    So acontece quando gero em formato de dll o projeto no delphi ja em formato de exe funciona normal.

    desde ja agradeço pela ajuda!

    ResponderExcluir
  8. Minha aplicação tem login de usuario (frmlogin) e apos logado (frmPrincipal), acontece q funciona o minimizar no tray, porem quando duplo_clique ele abre a aplicação do zero, ou seja abre a tela de login e nao o frmPrincipal que ja estava logado. o que pode ser?

    ResponderExcluir