Barra de Ferramentas
Selecione a aba Common Controls na paleta de componentes. Pegue um TToolBar e coloque no form. Não precisa se preocupar com a posição, o Lazarus sabe exatamente onde fica uma barra de ferramentas e já a posiciona corretamente. Vamos dar o nome (Name) de tbaPrincipal ao componente. Nossa ToolBar terá botões para alterar as cores e o alinhamento do texto. Exatamente as mesmas opções do menu. Para inserir os botões, clique com o botão direito e selecione New Button. Insira dois botões. Em seguida insira um separador, selecionando New Separator. Após isso insira mais três botões.
ImageList
Para definir imagens para os botões devemos usar o componente TImageList. Pegue um desses na própria aba Common Controls e dê a ele o nome imlPrincipal. Depois de por no form - em qualquer posição - clique com o botão direito nele e selecione Editor "Image List". Clique no botão adicionar e selecione um ícone apropriado para cada botão. Depois disso selecione o ToolBar, vá na propriedade Images e selecione imlPrincipal. Clique então em cada botão e defina na propriedade ImageIndex qual o índice do ícone que você deseja para ele. O índice do primeiro botão do ImageList é 0. Nosso form deve estar com a aparência da figura abaixo, dependendo claro dos ícones que você escolheu para os botões.
Observe que no menu foi criada uma opção Visualizar -> Barra de ferramentas. Essa opção permitirá visualizar/ocultar a ToolBar. Dê um clique nessa opção para abrir o editor de código no procedimento OnClick e escreva:
tbaPrincipal.Visible := not tbaPrincipal.Visible;
mnuBarraFerramentas.Checked := tbaPrincipal.Visible;
Dê um duplo clique no MainMenu e selecione Barra de ferramentas. Localize a propriedade Checked e mude-a para True. Como sempre que abrimos o programa a ToolBar está visível, então deixamos a opção de menu marcada. Note que a opção Visualizar -> Barra de ferramentas funciona como um CheckBox.
Barra de Status
A barra de status é usada para apresentar inúmeras informações ao usuário. Pode mostrar mensagens, a data e hora atuais, dicas, etc. O Lazarus possui um componente para essa finalidade. Na paleta de componentes vá até a aba Common Controls, selecione o componente TStatusBar e o insira na nossa aplicação. Não importa onde você insere o StatusBar, o Lazarus sempre o posiciona na base da janela. Mude a propriedade Name do componente para stbPrincipal.
Uma barra de status pode ter vários painéis que agrupam informações relacionadas. Vamos dividir esta barra em dois painéis. Clique no botão elipse ao lado direito da propriedade Panels. Isso irá abrir o editor de painéis. Adicione dois painéis pressionando o botão Adicionar na parte superior do editor.
O Lazarus guarda as informações sobre os painéis do StatusBar em um array. O primeiro painel é chamado stbPrincipal.Panels[0] e o segundo stbPrincipal.Panels[1]. Cada painel é um objeto do tipo TStatusPanel. Portanto possui propriedades e métodos. Mantenha o editor de painéis aberto. Clique no primeiro painel e digite Desenvolvido por João da Silva. Altere a propriedade Width para um valor conveniente, 300 por exemplo.
No segundo painel mostraremos a hora atual. Esta informação deve ser mostrada de forma dinâmica. Para isso será usado o componente TTimer que se encontra na aba System. Esse componente tem um evento chamado OnTimer que ocorre em intervalos de tempo que são definidos pela propriedade Interval. Por padrão o intervalo é de 1000 milissegundos. Coloque esse componente em qualquer posição no form e altere a propriedade Name para timHora. Deixamos Interval como está pois o evento ocorrerá exatamente a cada segundo.
Selecione a aba Eventos e dê um duplo clique o evento OnTimer. Escreva o seguinte código:
stbPrincipal.Panels[1].Text := TimeToStr(Time);
Esse código converte para string a hora atual devolvida por Time e a atribui à propriedade Text do segundo painel. Lembre que esse código é executado a cada segundo, mantendo a hora no painel sempre atualizada.
Menu local
Nas aplicações Windows é comum haver menus locais ativados com um clique no botão direito do mouse. O menu que é mostrado geralmente depende do local onde o mouse é clicado. Esses menus agrupam opções relacionadas com o elemento da interface que está selecionado. São mais rápidos que o menu estudado anteriormente porque não necessita que o mouse seja movimentado para ativá-lo.
Para adicionar um menu local a um form, selecione o componente TPopupMenu na aba Standard e o insira no form em qualquer posição. Altere a propriedade Name para popAlinhamento. Dê um duplo clique no componente e insira as opções: Esquerda, Centro e Direita. A maneira de inserira as opções é semelhante ao que fizemos para o MainMenu. Ou seja, queremos um menu local com as mesmas opções referentes ao alinhamento do texto do MainMenu que criamos.
Ainda com o editor de menus aberto, clique na opção Esquerda. Selecione a aba Eventos e no evento OnClick selecione o procedimento mnuEsquerdaClick. Proceda de forma semelhante para as outras duas opções. Ou seja, reutilize o código, visto que é exatamente o mesmo.
Selecione o Memo e na propriedade PopupMenu selecione popAlinhamento. Esta é a maneira de associar o menu local a um componente. Execute o programa, teste todas as funcionalidades implementadas.
A partir do próximo artigo falaremos de aplicações de banco de dados usando o Lazarus. Até lá.
















































