Ola Fabio, interessante esse seu codigo, pois naum eh
obrigado a ficar parado como o Sleep faria, mas eu
naum entendi uma coisa, o que faz a linha de comando

Application.ProcessMessages;

Pois pelo que entendi ate esse ponto, todos os
formularios ja estao carregados!!!

Um Abraco!!!

Rodrigo Izquierdo da Motta.


//===============================================




 --- Fabio Giro <[EMAIL PROTECTED]>
escreveu: 
> 
> 
> A resposta está grande por causa das explicações.
> 
> Para criar uma página de splashscreen faça
> daseguinte forma:
> 
> 1 - Execute o Delphi e adicione um novo formulário
> ao seu projeto;
> 2 - Escolha um nome para ele (frmSplashScreen, por
> exemplo) e configure a
> propriedade BorderStyle com o valor bsNone e
> Position com o valor
> poScreenCenter;
> 3 - Personalize a sua splash screen, adicionando os
> componentes que desejar:
> labels, images, panels, etc. Normalmente insere-se
> primeiro no formulário,
> um Tpanel, com a sua propriedade Align configurada
> como alClient e outras
> propriedades como: BevelInner, BevelOuter,
> BevelWidth, BorderWidth para
> produzir vários efeitos diferentes;
> 4 - Clique no menu Project | Options e mova o
> formulário da listbox
> Auto-create forms para a lista Available Forms. O
> formulário responsável por
> exibir a splash screen, será criado e em seguida
> exibido antes mesmo da
> aplicação ser realmente aberta;
> 5 - Selecione Project | View Source para acessar o
> fonte do projeto
> (conteúdo do arquivo .dpr);
> 6 - Inclua o código abaixo depois do begin:
> 
>         frmSplashScreen:=
> TfrmSplashScreen.Create(Application);
>         frmSplashScreen.Show;
>         Application.Initialize; // Esta linha já
> existe.
>         frmSplashScreen.Update;
> 
> 7 - Depois do último Application.Create() e antes da
> sentença
> Application.Run, adicione:
> 
>     frmSplashScreen.Hide;
>     frmSplashScreen.Free;
> 
> 8 - Pronto. A splash screen já está criada. Rode a
> aplicação. Neste exemplo,
> dependendo da velocidade do seu computador, você
> verá a sua tela de abertura
> muito rapidamente (pode até ser que você não consiga
> observá-la), mas se seu
> projeto for composto por muitos formulários,
> certamente a tela de abertura
> poderá ser lida. Veja a seguir como controlar o
> tempo de exibição de uma
> splash screen.
> 
> Criando Splash Screen Temporizada:
> 
> Geralmente, uma tela de abertura deve aparecer
> imediatamente após o usuário
> clicar no ícone da sua aplicação e não deverá
> desaparecer até que o
> formulário principal da sua aplicação tenha sido
> totalmente carregado,
> esteja visível e pronto para ser utilizado. Caso sua
> aplicação possua poucos
> formulários ou se sua carga for rápida
> demais, a tela de abertura poderá ficar totalmente
> imperceptível para o
> usuário. Uma solução para isso seria o emprego do
> componente Ttimer.
> Configure a sua propriedade Interval com um valor
> múltiplo de 1000 para a
> quantidade de segundos que você deseja que sua
> splash screen permaneça
> visível. Valores como 3000 ou 4000 para Interval,
> correspondem a
> aproximadamente 3 ou 4 segundos respectivamente.
> Certifique-se de que a
> propriedade Enable esteja configurada como True e em
> seguida, no evento
> OnTimer, escreva o código abaixo:
> 
>         Timer1.Enabled := False;
> 
> Vá ao Object Inspector e escreva no evento
> OnCloseQuery do formulário o
> seguinte código:
> 
>     CanClose := Not Timer1.Enabled;
> 
> Como Ttimer inicialmente é habilitado, ele iniciará
> a contagem assim que o
> formulário for criado. Logo que o valor de Interval
> tenha sido atingido, ele
> será desabilitado. Como resultado, ele somente
> executará uma única vez. Para
> resolver este problema, lançamos mão do evento
> OnCloseQuery, que é usado
> para informar ao Windows se um formulário pode ser
> fechado ou não. Se a
> variável CanClose retornar verdadeiro, o formulário
> poderá ser fechado, caso
> contrário ele permanecerá aberto. Tudo que nós temos
> que fazer é retornar o
> valor oposto do estado da propriedade Enabled do
> componente Ttimer. Se
> Ttimer ainda estiver em execução pela primeira vez,
> não deixamos o
> formulário da splash
> screen ser fechado. Logo que o Ttimer finalizar sua
> execução, ele será
> desabilitado, o que consequentemente fechará o
> formulário. A última coisa
> que temos que fazer é efetuar um apequena
> modificação no
> código do projeto. Insira o código abaixo antes da
> sentença
> frmSplashScreen.Hide:
> 
>     repeat
>     Application.ProcessMessages;
>     until frmSplashScreen.CloseQuery;
> 
> Quando a sua aplicação chegar neste ponto, ela
> permanecerá em loop até que a
> chamada a CloseQuery permita que a execução
> continue. Agora, caso ela leve
> mais tempo para ser carregada do que a temporização
> definida para a tela de
> abertura, então a splash screen terminará
> imediatamente quando a aplicação
> alcançar este trecho de código.
> 
> Espero ter ajudado.
> 
> ----- Original Message -----
> From: "Erika" <[EMAIL PROTECTED]>
> To: <delphi-br@yahoogrupos.com.br>
> Sent: Sunday, January 30, 2005 2:16 AM
> Subject: [delphi-br] splash
> 
> 
> 
> 
> Alguém poderia me dizer como faço a tela splash??
> Obrigado a todos!!!
> 
> 
> 
> 
> 
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA
> MENSAGEM >>>>>
> 
> Para ver as mensagens antigas, acesse:
>  http://br.groups.yahoo.com/group/delphi-br/messages
> 
> Para falar com o moderador, envie um e-mail para:
>  [EMAIL PROTECTED] ou
> [EMAIL PROTECTED]
> 
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> Internal Virus Database is out-of-date.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 265.7.2 - Release
> Date: 21/01/2005
> 
> 
> 
> 
> 
> -- 
> Internal Virus Database is out-of-date.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 265.7.2 - Release
> Date: 21/01/2005
> 
> 
> 
> 
> 
> 
> 
=== message truncated === 

=====
  Rodrigo Izquierdo da Motta.




        
        
                
_______________________________________________________ 
Yahoo! Acesso Grátis - Instale o discador do Yahoo! agora. 
http://br.acesso.yahoo.com/ - Internet rápida e grátis


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a