ClipaTec Informática

Receba novidades por e-mail. Digite seu e-mail abaixo e clique no botão "Cadastrar"

Delivered by FeedBurner

10 de setembro de 2012

Como exibir o Hint na StatusBar no Delphi?

delphi
Olá pessoal, bem vindo a mais um tutorial.
Neste tutorial, vamos aprender como jogar o Hint de um componente numa StatusBar (barra de status) no Delphi.
Talvez você pergunte, qual a relevância de utilizarmos a propriedade "Hint" dos componentes.
A reposta para esta pergunta é muito simples, sempre digo para meus alunos e pra qualquer pessoa, eu gosto de deixar um software o mais interativo possível, porque hoje, isso é uma questão que ganha destaque no mercado de softwares, nada melhor que o próprio software ensinar o usuário como usá-lo, ou seja, uma interação "software-usuário".
Pra que ainda não sabe, um Hint seria tipo uma dica, imagine o seguinte: quando o usuário passar o cursor do mouse sobre um botão por exemplo, o hint do botão será exibido numa barra de status explicando brevemente o que tal botão faz, saco?
Muito bem, muito simples de se fazer isso no Delphi, então vamos a um exemplo bem prático. Vou utilizar aqui a tela de cadastro de livro do nosso sistema para controle de biblioteca versão 1.0.

delphi

Com sua tela de cadastro aberta no Delphi, insira o componente "ApplicationEvents" da paleta "Additional" em seu formulário. Este componente é utilizado para controlar e manipular alguns eventos, sendo um deles, o evento "OnHint" que vamos usar nesse exemplo.
Após inserir o componente no formulário, digite as dicas na propriedade "Hint" dos componentes botões e campos, como por exemplo, na propriedade "Hint" do botão "Salvar", poderíamos digitar: "use este botão para salvar o registro atual". Só um exemplo. Insira também uma "statusBar" da paleta "Win32".
Muito bem, vamos criar um painel para a barra de status, para que possamos utilizá-la, pra isso, basta dar um duplo clique sobre ela, e clicar no primeiro botão (Add New), note que será cria uma instância chamada de "0 - TStatusPanel". Beleza, só fechar a janela.

delphi











Após isso, declare o seguinte procedimento:

delphi





Esse procedimento vai exibir o Hint do componente na barra de status.
Ao declarar o procedimento, pressione as teclas de atalho de implementação: "Shift+Ctrl+C".
Feito isso, implemente os comandos abaixo:

delphi





Nesses comandos, notamos que, estamos atribuindo os hints de nossa aplicação "Application.Hint" para o painel da posição "0" de nossa barra de status que criamos, e especificando que o Hint é um texto (StatusBar1.Panels[0].Text).
Ok, agora, volte para o formulário, selecione-o, dê um duplo-clique no evento "OnCreate" do mesmo e digite os seguintes comandos:

delphi










delphi






Note que no evento "OnHint" de nossa aplicação, estamos atribuindo o procedimento "DisplayHint" que implementamos, desta forma, assim que o formulário de cadastro de livro for criado, serão captados todos os hints de nossa aplicação e será exibido na barra de status, assim que o usuário passar o cursor do mouse sobre algum componente que tenha a propriedade "Hint" preenchida. Simples e fácil.
Agora para testarmos, compile e execute o seu projeto e veja o resultado.

delphi


















Na imagem acima, note que ao posicionar o cursor do mouse sobre o botão "Novo", é exibido na barra de status o "hint" do mesmo. Abraço galera e até o próximo artigo.

(Por Welinton Junior Dias)

6 comments:

  1. Dica: caso você não queira exibir o hint de um componente na barra de status, você pode configurá-lo para mostrar o hint perto do cursor quando passar o mouse sobre o componente. Para isso, basta selecionar o botão por exemplo, e mudar a propriedade "ShowHint" para "True", pronto, com isso, se a propriedade "Hint" estiver preenchida, ao executar e passar o mouse sobre o componente, abaixo da seta do mouse será exibido o Hint. Abraço.

    ResponderExcluir
  2. Grande dica, antigamente no CA Clipper usávamos no um tipo de hint no "set messege to" (boa época), Obrigado pelo post.

    ResponderExcluir
    Respostas
    1. Por nada, sempre estaremos postando artigos novos aqui sobre Delphi, Java e até C#! Precisando de ajuda, estamos qui, abraço!

      Excluir
  3. Eu uso DisplayHint no FormMain, funciona perfeitamente.
    Mas se eu também construir no segundo formulário, ao fechar este Form2, ele mostra "access violação".

    Você pode me ajudar a resolver esse erro.

    ResponderExcluir

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!