Programação Kylix: Informações do menu na barra de status

Publicado por Anderson de Assis de Souza em 22/07/2006

[ Hits: 8.144 ]

 


Programação Kylix: Informações do menu na barra de status



Melhore os recursos de seus programas em Kylix (Delphi para Linux).

Com este procedimento você poderá usar a barra de status para dar informações, por exemplo, de um menu item.

Vamos utilizar o Hint, aumentando a sua utilidade, não para exibí-lo como hint, mas sim na barra de status, podendo dar dicas de cada menu item do mainmenu.

Chamarei o form principal de sua aplicação Kylix como Form1.

Inclua uma barra de status no formulário principal do seu programa, caso já não o tenha feito.Não esquecendo de incluir uns dois status panel dentro do status bar. Eu disse dois pois meu exemplo usa o segundo, mas você pode usar apenas um.

Agora você deverá colocar na propriedade hint de cada menuitem do mainmenu, uma informação que se refere aquele item, com um espaço na frente. Por exemplo:

' Abre o arquivo de teste'

A propriedade ShowHint fica como False, pois não é para ser usado como hint. No MainMenu esta propriedade não deve nem aparecer, mas ela existe, de qualquer forma não se preocupe.

Quando selecionado um item no menu, mesmo sem clicar, uma dica, digo informação do item, irá aparecer na barra de status.

Então para que serve o Espaço na frente? O Espaço serve para distinguir se o hint deve ser usado normalmente como hint mesmo, sem o Espaço na frente. Ou ser usado na barra de status colocando o espaço. O procedimento não exibe na barra de status se não tiver o espaço na frente.

Procure o código abaixo no formulário principal de sua aplicação.

  private  
    { Private declarations }  
  public  
    { Public declarations }  
  end;  

Modifique, inserindo a linha indicada:

  private  
    { Private declarations }  
  public  
    { Public declarations }  
    Procedure DisplayHint(Sender: TObject); // inclua  
esta linha.
  end;  

No evento de Create ou no evento de FormShow do seu formulário principal, adicione a linha abaixo.

Application.OnHint := DisplayHint;

Depois coloque este procedimento no código do seu formulário principal de sua aplicação Kylix.

procedure TForm1.DisplayHint(Sender: TObject);
begin
If (Length(Application.Hint) > 0) and
(Application.Hint[1] = Chr(32)) Then  
  StatusBar1.Panels.Items[1].Text :=  
Trim(Application.Hint){}  
Else  
  StatusBar1.Panels.Items[0].Text := '';{if}  
end;{procedure}

Feito! Isso é tudo. Mas não esqueça de olhar as imagens anexas à dica.





Outras dicas deste autor

Instalando o pacote ZEOS Access no Lazarus 0.9.24

Problema: programa não roda fora do Kylix

Firebird - Backup de banco de dados

Corrigindo o erro: C compiler cannot create executables

Problemas ao compilar o MPlayer no Slackware Linux 12.1

Leitura recomendada

Criando log de erro para seus programas Kylix

Construindo gráfico com Canvas

The system is running in low-graphics mode [Resolvido]

Ativando o Compiz no Fedora MATE + Compiz

Como remover os pacotes rpm

  

Comentários
[1] Comentário enviado por felipehf em 06/07/2009 - 14:54h

Olá,
tem um método muito mais fácil de fazer isto: é só ativar a propriedade do TStatusBar->AutoHint=true, que todo hint da aplicação será mostrado no TStatusBar.Panel[0] (se houver mais de um painel).

[2] Comentário enviado por anderson_souza em 06/07/2009 - 17:09h

Certo! Mas o fato é pela dica vc pode escolher qual o hint vc quer que apareca no statusbar, todos fica impropriado já que muitos são desejados aparecerem como hint mesmo.

Além disso este opcão que vc citou deve ser para o Delhpi mais novo, mas a dica é para o Kylix, que por sua vez também compatível com o Delphi. Pelo menos não achei no Kylix nem no Lazarus nem no Delhpi até a versão 7.

OK.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts