Surgir e desaparecer Form
Como faço para surgir o formulário de baixo para cima(subir) e desaparecer de cima para baixo(descendo) como no msn??
Rudá
Curtidas 0
Respostas
Rudá
25/03/2006
Alguem pode me ajudar??
GOSTEI 0
Paullsoftware
25/03/2006
Op´s...
tente assim...
crie uma nova aplicação, adicione um novo form e no form principal coloque um botton e teste o código abaixo:
[color=blue:144378403f][size=18:144378403f]onde [/size:144378403f][/color:144378403f]:!: :!: :!:
no lugar de [i:144378403f]AW_VER_NEGATIVE[/i:144378403f] pode ser:
[b:144378403f][list:144378403f]AW_HOR_POSITIVE
AW_HOR_NEGATIVE
AW_VER_POSITIVE
AW_VER_NEGATIVE
AW_CENTER
AW_HIDE
AW_ACTIVATE
AW_SLIDE
AW_BLEND[/list:u:144378403f][/b:144378403f]
espero ter ajduado! :wink:
tente assim...
crie uma nova aplicação, adicione um novo form e no form principal coloque um botton e teste o código abaixo:
Form2.BringToFront; AnimateWindow(form2.Handle,3000,AW_VER_NEGATIVE); Form2.Show;
[color=blue:144378403f][size=18:144378403f]onde [/size:144378403f][/color:144378403f]:!: :!: :!:
no lugar de [i:144378403f]AW_VER_NEGATIVE[/i:144378403f] pode ser:
[b:144378403f][list:144378403f]AW_HOR_POSITIVE
AW_HOR_NEGATIVE
AW_VER_POSITIVE
AW_VER_NEGATIVE
AW_CENTER
AW_HIDE
AW_ACTIVATE
AW_SLIDE
AW_BLEND[/list:u:144378403f][/b:144378403f]
espero ter ajduado! :wink:
GOSTEI 0
Rudá
25/03/2006
Essas funções não server já que ele não sobe e sim ele vai mostrando, quero que ele va subindo, surgindo como no popup do msn!!
E tem um problema tb ele para a aplicação toda quando ta executando essa função!
E tem um problema tb ele para a aplicação toda quando ta executando essa função!
GOSTEI 0
Paullsoftware
25/03/2006
tem um artigo no site da ClubDelphi, pode ser isso q vc esta procurando...
vou procurar e posto aqui se achar... :wink:
vou procurar e posto aqui se achar... :wink:
GOSTEI 0
Rudá
25/03/2006
Exemplo: Tenho 5 form para ser aberto e ele abre subindo, só que eu quero que eles sejam abertos todos de vezes, e não um esperando o outro abrir totalmente para o outro começar!
Não tem como abrir todos de vez??
Não tem como abrir todos de vez??
GOSTEI 0
Tiks
25/03/2006
use threads!
e chame ela assim:
minhathread.Create(false);
type minhathread = class(TThread) private protected procedure Execute; override; end;
procedure minhathread.execute; begin {comandos aqui} freeOnterminate := true; end;
e chame ela assim:
minhathread.Create(false);
GOSTEI 0
Rudá
25/03/2006
O problema tb é que quando executo alguma função ele para tb o TTimer,
Eu quero que ele execute a ação só que não trave o form!
Pode me ajudar??
Eu quero que ele execute a ação só que não trave o form!
Pode me ajudar??
GOSTEI 0
Tiks
25/03/2006
quando uma função é muito longa, o aplicativo para e espera o término dela, por isso ele freeza, para evitar isso é só chamar a função numa thread separada, como o meu ultimo post, assim seu form não irá travar.
qualquer dúvida só responder
:)
qualquer dúvida só responder
:)
GOSTEI 0
Rudá
25/03/2006
Fiz assim:
Ai quando clico fica tudo blz, mas se eu clicar em seguida antes de ele completar o AnimateWindow ele funciona blz, ai eu fecho o segundo form que abrir e ele fecha agora o primeiro ele não fecha clico no x e nada, o que pode ser??
procedure TForm1.Button1Click(Sender: TObject); begin Form:= TForm2.Create(Application); minhathread.Create(false); end; procedure minhathread.execute; begin AnimateWindow(Form.Handle,5000,AW_BLEND); Form.Show; FreeOnterminate:= True; end;
Ai quando clico fica tudo blz, mas se eu clicar em seguida antes de ele completar o AnimateWindow ele funciona blz, ai eu fecho o segundo form que abrir e ele fecha agora o primeiro ele não fecha clico no x e nada, o que pode ser??
GOSTEI 0
Rudá
25/03/2006
Pode me ajudar??
GOSTEI 0
Tiks
25/03/2006
Desculpe a demora para responder,
deixo ver se eu entendi, ele da esse problema quando você clica novamente antes de terminar?
Se for, você pode por para ele só executar a thread novamente se a primeira já tiver sido terminada, tipo assim:
Eu estou fora de casa então não pude testar para ver se deu certo, se não funcionar a idéia é esta: Checar se a thread está em execução, se estiver não executar.
Espero que funcine
Tiks~
deixo ver se eu entendi, ele da esse problema quando você clica novamente antes de terminar?
Se for, você pode por para ele só executar a thread novamente se a primeira já tiver sido terminada, tipo assim:
procedure TForm1.Button1Click(Sender: TObject); begin Form:= TForm2.Create(Application); minhathread.Create(false); end; procedure minhathread.execute; begin if pronto = true then begin pronto := false; AnimateWindow(Form.Handle,5000,AW_BLEND); Form.Show; pronto := true; FreeOnterminate:= True; end; end;
Eu estou fora de casa então não pude testar para ver se deu certo, se não funcionar a idéia é esta: Checar se a thread está em execução, se estiver não executar.
Espero que funcine
Tiks~
GOSTEI 0
Rudá
25/03/2006
Value cara mas consegui, usei [b:f2fde14c0c]Synchronize[/b:f2fde14c0c]
GOSTEI 0
Rudá
25/03/2006
Estou com um problema de Form em DLL,
Não estou conseguindo fazer com que ela feche direito, sempre da erros doidos, um cada vez mais diferente do outro, que maneira certa deve ser liberado da memória um form de uma DLL??
Não estou conseguindo fazer com que ela feche direito, sempre da erros doidos, um cada vez mais diferente do outro, que maneira certa deve ser liberado da memória um form de uma DLL??
GOSTEI 0
Rudá
25/03/2006
Achei o problema!
Tenho uma TImage no FormDLL e no Form do Aplicativo tenho outra TImage, a dll cria o FormDLL e me manda qual é o form para o Form do Aplicativo ai eu envio o bitmap da TImage do Aplicativo para a TImage do FormDLL, até ai tudo funciona, mas quando fecho o FormDLL, e no OnClose eu dou um Free; ai ele da erro mas se eu tirar a passagem do Bitmap ele não da mais erro, e se eu colocar uma Bitmap no TImage já definido no FormDLL e gerar a dll não da erro.
Pelo que eu percebi é na hora de passar o Bitmap.
Alguem pode me esclarecer pq??
Tenho uma TImage no FormDLL e no Form do Aplicativo tenho outra TImage, a dll cria o FormDLL e me manda qual é o form para o Form do Aplicativo ai eu envio o bitmap da TImage do Aplicativo para a TImage do FormDLL, até ai tudo funciona, mas quando fecho o FormDLL, e no OnClose eu dou um Free; ai ele da erro mas se eu tirar a passagem do Bitmap ele não da mais erro, e se eu colocar uma Bitmap no TImage já definido no FormDLL e gerar a dll não da erro.
Pelo que eu percebi é na hora de passar o Bitmap.
Alguem pode me esclarecer pq??
GOSTEI 0