O nosso prezado colega e moderador Progr'amador na seção de dicas postou uma muito interessante:
ANIMANDO A ABERTURA DE UM FORM
Temos uma API que pode tornar a abertura dos forms mais atrativa!
ex:
Digamos que temos dois forms. Form1 e Form2. O Form1 deve chamar o Form2 (que está setado para auto-criação)!
o código abaixo chama o form2 (a partir de um button) com um efeito bem legal
CODE
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.BringToFront;
form1.Hide;
AnimateWindow(form2.Handle,2000,AW_CENTER);
form2.show;
end;
no evento OnHide do form2 coloque:
CODE
procedure TForm2.FormHide(Sender: TObject);
begin
form1.Show;
end;
Lista de Animações:
AW_BLEND //Somente no Windows 2000
AW_CENTER
AW_HOR_POSITIVE
AW_HOR_NEGATIVE
AW_VER_POSITIVE
AW_VER_NEGATIVE
Essa dica foi testada com o Delphi 6. Talvez não funcione com versões anteriores!
Testei com o delphi 7 e tive dois problemas(por enquanto):
Se alguém já testou (e vale a pena!), veja se pode me ajudar nos problemas que tive;
Problema1: No efeito de transparência se você tiver um form com DBEdit com o visual tridimensional ele aparecerá sem esse efeito.
Problema2: Tenho um form com a propriedade position como poscreenCenter.
É claro que em tempo de projeto ele não se encontra nesta posição.
Ao executar o programa com qualquer um dos efeitos por exemplo com o AW_CENTER, que foi o que me interessou, ele surge na tela através com o form na posição de tempo de projeto e em seguida da um pequeno salto ocupando a posição determinada(isto é horrível), no meu caso ; poscreenCenter.
No meu caso estou simplesmente colocando o seguinte código no evento onShow
AnimateWindows(handle,200,AW_Center);
Mesmo com o código fornecido acima(pelo progr'amador) o problema é o mesmo.
Será que você Progr'amador, que forneceu o código ou outra pessoa que se disponha poderia me ajudar?
Pergunta
Paulo Nobre
O nosso prezado colega e moderador Progr'amador na seção de dicas postou uma muito interessante:
Testei com o delphi 7 e tive dois problemas(por enquanto):
Se alguém já testou (e vale a pena!), veja se pode me ajudar nos problemas que tive;
Problema1: No efeito de transparência se você tiver um form com DBEdit com o visual tridimensional ele aparecerá sem esse efeito.
Problema2: Tenho um form com a propriedade position como poscreenCenter.
É claro que em tempo de projeto ele não se encontra nesta posição.
Ao executar o programa com qualquer um dos efeitos por exemplo com o AW_CENTER, que foi o que me interessou, ele surge na tela através com o form na posição de tempo de projeto e em seguida da um pequeno salto ocupando a posição determinada(isto é horrível), no meu caso ; poscreenCenter.
No meu caso estou simplesmente colocando o seguinte código no evento onShow
AnimateWindows(handle,200,AW_Center);
Mesmo com o código fornecido acima(pelo progr'amador) o problema é o mesmo.
Será que você Progr'amador, que forneceu o código ou outra pessoa que se disponha poderia me ajudar?
Agradeço antecipadamente
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.