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