Olá galera, nesta Quick Tips, irei mostrar como podemos exibir um hint na barra de status, alguns podem achar que é moleza, sim realmente não é difícil veja como é simples.

 

procedure TFrmPrincipal.FormCreate(Sender: TObject);

begin

  //Maneira Natural como fazemos hoje em dia

  StatusBar1.Panels[0].Text := Application.Hint;

end;

 

            OK então por que criar algo tão simples? Para quem utiliza Delphi 2010, verá que este código não funciona como nas outra versões, devido a mudanças internas na rotina que faz este mecanismos, porém pesquisando consegui achar uma solução, pois tenho sistemas que trabalham com este hint, mas como mudei para esta nova versão isso esta atrapalhando bastante.

            A solução que veremos agora resolve de maneira simples e prática este pequeno problema.

 

Vamos criar uma procedure chamada DisplayHint, na seção private do formulário, e adicionar uma StatusBar(e um panel), e um Edit com um hint para vermos o resultado.     

 

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ComCtrls;

 

type

TFrmPrincipal = class(TForm)

  StatusBar1: TStatusBar;

  ApplicationEvents1: TApplicationEvents;

  procedure FormCreate(Sender: TObject);

private

  procedure DisplayHint(Sender: TObject);

  { Private declarations }

public

  { Public declarations }

end;

 

Em sua implementação vamos programar o seguinte :

 

Procedure TFrmPrincipal.DisplayHint(Sender: TObject);

begin

  StatusBar1.Panels[0].Text := Application.Hint;

end;


Observação : Esta procedure pode ser modificada, para mudarmos a maneira e o componente no qual queremos exibir os hints de nossa aplicação, por exemplo, em um panel.caption, ou o próprio caption de um formulário, além de um simples label que só seja exibido na hora que o hinto for exibido.


 

E no evento onCreate do formulário vamos programar o seguinte :

 

procedure TFrmPrincipal.FormCreate(Sender: TObject);

begin

  Application.OnHint := DisplayHint;

end;

 

Com isso temos como exibir os hints de nossa aplicação na Statusbar e não mais no próprio componente como de costume. Para aqueles que querem exibir o Hint na StatusBar e no componente, basta deixar a propriedade ShowHint do componente desejado como True, agora para os que não quiserem este efeito basta deixar a mesma como False, tendo assim estas duas possibilidades ficando a gosto do desenvolvedor.

 

Fico por aqui ate à próxima Quick Tips.

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br