Fórum form abertura #233040

19/05/2004

0

Ola,
como faço para criar um form de abertura no delphi 7 comtendo nesse form uma prossbar?

agradeço pela ajuda.


Radolpho

Radolpho

Responder

Posts

19/05/2004

Chico Gois

Isso que voce quer se chama SPLASH

Entre nestes sites, tem basatante coisa por la

http://www.delphi.eti.br/index.php

http://www.activedelphi.com.br/

T+


Responder

Gostei + 0

20/05/2004

Andcarpi

tah ai, artigo do clube delphi:

Splash Screens Neste artigo, veremos como adicionar uma tela de abertura (também conhecida como “splash screen”) para o seu programa. O que é uma splash screen e porque utilizá-la: Uma splash screen pode ter os mais variados componentes, sendo que na sua forma mais básica ela é apenas uma imagem (mais precisamente, um formulário com uma imagem) que aparece no centro da tela quando uma aplicação é carregada. Este tipo de tela, usualmente exibe o nome da aplicação, nome do autor, versão do programa, informações sobre direitos autorais (copyright) e uma imagem (ou algum ícone) que identifique a aplicação. Caso o seu programa seja do tipo “shareware”, você poderia aproveitar a tela de abertura para lembrar aos usuários sobre a necessidade de registrar o seu produto. Algumas aplicações usam splash screens para notificar o usuário do tempo consumido na execução de alguma tarefa que demanda um certo tempo para ser completada, não deixando o usuário coma sensação desagradável de que seu programa parou de responder. Outra utilidade para a splash screen é também conceder um tempo necessário para a carga completa do restante da aplicação e exibição da sua janela principal. Como criar splash screens: Vejamos como criar uma tela de abertura simples, em poucos passos: 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. Edison Costa, Equipe ClubeDelphi Contribua com o nosso site enviando artigos, dicas e aplicativos para uploader@clubedelphi.com.br Home | Componentes | Apostilas | Exemplos e Funções | Dicas e Macetes Kylix | Uploaders | Cadastre-se | Assine Já ClubeDelphi ©- Todos os direitos reservados webmaster@clubedelphi.com.br



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar