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

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

[ Hits: 8.886 ]

 


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

Firebird - Backup de banco de dados

Instalando o pacote ZEOS Access no Lazarus 0.9.24

Corrigindo o erro: C compiler cannot create executables

Problemas ao compilar o MPlayer no Slackware Linux 12.1

Problema: programa não roda fora do Kylix

Leitura recomendada

Criando log de erro para seus programas Kylix

Construindo gráfico com Canvas

Solucionando problema de resolução máxima de 640x480 no Ubuntu e similares

Teclado USB Dr. Hank no Slackware 10

Integração com Gerencianet no Magento e OpenCart

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts