Documente Academic
Documente Profesional
Documente Cultură
Splash Splash uma janela de abertura de um programa. Vamos aprender como criar uma dessas em Lazarus. Para isso crie uma nova aplicao. 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 nomeSplash. Agora inclua mais um form na aplicao. 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 opo 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 no 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 boto View Units na barra de ferramentas. Isso abrir uma janela com todas as units da aplicao. Selecione o arquivo do projeto:splash.lpr.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
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 seo uses acrescente Crt. Isso necessrio para invocar o procedimento Delay() na linha 21, que provoca um retardo para que o splash seja mostrado por um certo tempo. Explicando o cdigo apenas para as linhas que sero acrescentadas:
Linha 18 - cria o form frmSplash. Linha 19 - mostra o splash. Linha 20 - funciona como Repaint, atualizando a janela, seno no ser mostrada. Linha 21 - causa um retardo na execuo do programa. Linha 23 - oculta o splash. Linha 24 - libera a memria ocupada pelo splash.