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.