Páginas

quinta-feira, 25 de março de 2010

Lazarus - Criando um Splash e um Hint com várias linhas

Splash

Splash é uma janela de abertura de um programa. Vamos aprender como criar uma dessas em Lazarus. Para isso crie uma nova aplicação. Podemos dar o nome de frmPrincipal a esse form e salvar tudo. Para a unit dê o nome u_principal e ao projeto dê o nome Splash. Agora inclua mais um form na aplicação. Esse será o splash. Na propriedade Name digite frmSplash. Salve e digite u_splash no nome da unit. Na propriedade FormStyle desse form selecione fsSplash. Selecione a opção de menu Project -> Project Options. Localize a aba Forms, selecione frmSplash e, usando a seta, passe-o para a caixa da direita. Isso define que o form não será criado automaticamente.
Coloque um TImage em frmSplash e selecione uma imagem adequada ao seu projeto. É bom mudar Align para alClient e Stretch para True.
Agora clique no botão View Units na barra de ferramentas. Isso abrirá uma janela com todas as units da aplicação. Selecione o arquivo do projeto: splash.lpr.

program splash;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, crt, u_principal, LResources, u_splash
  { you can add units after this };

{$IFDEF WINDOWS}{$R splash.rc}{$ENDIF}

begin
  {$I splash.lrs}
  Application.Initialize;
  frmSplash := TfrmSplash.Create(nil);
  frmSplash.Show;
  frmSplash.Update;
  Delay(1000);
  Application.CreateForm(TfrmPrincipal, frmPrincipal);
  frmSplash.Hide;
  frmSplash.Free;
  Application.Run;
end.

Na seção uses acrescente Crt. Isso é necessário para invocar o procedimento Delay() na linha 21, que provoca um retardo para que o splash seja mostrado por um certo tempo. Explicando o código apenas para as linhas que serão acrescentadas:

Linha 18 - cria o form frmSplash.
Linha 19 - mostra o splash.
Linha 20 - funciona como Repaint, atualizando a janela, senão não será mostrada.
Linha 21 - causa um retardo na execução do programa.
Linha 23 - oculta o splash.
Linha 24 - libera a memória ocupada pelo splash.

Hint com várias linhas

Hints são aquelas dicas que aparecem quando paramos o mouse sobre um componente. Normalmente essas dicas são informadas na propriedade Hint e habilitadas na propriedade ShowHint. No entanto através do Object Inspector só conseguimos colocar uma linha. Para mostrar como podemos ter um Hint com múltiplas linhas coloque um botão do tipo TBitBtn - pode ser qualquer outro tipo de botão - em frmPrincipal. Em Name informe btnSair. Na propriedade Kind selecione bkClose. Dê um duplo clique no form para criar um método para o evento OnCreate. Digite no Editor de código:

btnSair.Hint := 'Para sair desse form' + #13 + 
                'clique neste botão';
btnSair.ShowHint:= True;

O #13 insere um Enter na string e causa um salto de linha. Pode inserir quantos #13 você precise. Execute a aplicação e pare o mouse sobre o botão.

Atualizado em 15/04/2010.

Um comentário:

waldony disse...

Professor seus ensinamento estao sendo de muita importancia para mim pois estou aprendedo muito com seus poster.
parabens.

 
Creative Commons License
This work by Carlos Alberto P. Araújo is licensed under a Creative Commons Atribuição-Uso não-comercial-Compartilhamento pela mesma licença 3.0 Brasil License.