Guia Delphi

Conhecendo o TAnimate - métodos e propriedades em Delphi

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Veja nesse artigo como métodos e propriedades do componente TAnimate. Este componente pra funcionar no Windows Vista e Windows 7, precisa de um recurso auxiliar, descubra neste artigo qual será este recurso.

Olá pessoal, vamos ver aqui um artigo de Delphi que ensina um componente não muito explorado pelos desenvolvedores, porém com a mudança de sistema operacional, ou seja, do Windows XP para o Vista e agora o Windows 7, este componente acabou precisando de mais um recursos para funcionar, o componente em questão é o TAnimate, localizado na palheta Win32. Podemos encontrar este componente declarado na unit ComCtrls da nossa VCL.

Qual é o objetivo deste componente?

O objetivo é exibir uma animação quando estamos executando um determinado método muito demorado ou nem tanto, mas o intuído é avisar ao usuário que algo está sendo processado.

Demonstrando o exemplo

Figura 1. Demonstrando o exemplo

Vamos entender um pouco as propriedades deste componente

Propriedades
  • Active
  • Essa propriedade tem o objetivo de ativar ou desativar a animação do componente;

  • CommonAVI
  • Essa propriedade tem o objetivo de selecionarmos qual a animação que desejamos visualizar, com base em animações predefinidas. Podemos notar que esta propriedade é do tipo TCommonAVI que nada mais é do que um Enumerado com as seguintes opções: aviNone, aviFindFolder, aviFindFile, aviFindComputer, aviCopyFiles, aviCopyFile, aviRecycleFile, aviEmptyRecycle, aviDeleteFile;

  • FileName
  • Essa propriedade tem o objetivo de definir um .avi personalizado(junto com o código fonte deste post você pode encontrar um .avi para fazer o teste. Além também de poder criar os seus próprios .avi)

  • Repetitions
  • Essa propriedade tem o objetivo definir o número de vezes que a animação irá ser executada, caso esteja como 0, ela será ficará em repetição contínua. Caso você definia como 3, por exemplo, logo após a mesma ser executada o método onStop é executado;

    Métodos

  • onClose
  • Esse método é invocado quando usamos o método reset, mas antes dele é executado automaticamente o método onStop;

    Listagem 1: Usando o método onClose

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Animate1.Reset;
    end;
    
  • onOpen
  • Esse método é invocado quando instanciamos o formulário onde o TAnimado está;

  • onStart
  • Esse método é invocado quando mandamos ativamos a animação;

    Listagem 2: Usando o método Stop

    procedure TForm1.CheckBox1Click(Sender: TObject);
    begin
      if CheckBox1.Checked then
        Animate1.Active := True
      else
        Animate1.Active := False;
    end;
    
  • onStop
  • Esse método é invocado quando instanciamos o formulário onde o TAnimado está ou então invocamos o método Stop;

    Listagem 4: Usando o método Stop

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Animate1.Stop;
    end;
    

    Obs: Note que este método também é executado quando instanciamos o formulário que se encontra o TAnimate, sendo assim cuidado com o que você coloca neste método, pois assim que for iniciado o mesmo será executado também.

    Uma coisa interessante para comentarmos sobre o TAnimate, é que sua animação não irá ser “interrompida”, caso uma mensagem apareça em Modal, ou até mesmo um formulário, veja na figura abaixo o que estou querendo dizer:

    Animação continua mesmo com uma janela Modal aberta

    Figura 2. Animação continua mesmo com uma janela Modal aberta

    Agora depois de mostrar as principais propriedades e métodos do TAnimate, temos agora a curiosidade que gerou este artigo, ele não funciona no Windows 7 ou Windows Vista, como resolver então?

    Basta adicionarmos na nossa clausula uses na unit ShellAnimations, por isso você encontra também na palheta Win32 o componente TShellResources, que tem por finalidade declarar apenas esta uses.

    Vamos fazer um teste, usando o o Windows XP, se você tiver é claro, adicione um TAnimate e ative o mesmo, execute esta sua aplicação, veja que funciona, sem problema algum. Pegue este mesmo executável e abra no Windows 7, você verá que não funciona. Pra resolver isso basta você seguir o passo sugerido acima, nada o impede de apagar o TShellResources depois de ter compilado novamente sua aplicação, pois sua funcionalidade é apenas esta, declarar a uses.

    Bom vou ficando por aqui, um abraço e até o nosso próximo artigo.

     
    Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
    Receba nossas novidades
    Ficou com alguma dúvida?