Para quem não quiser comprar um Plugin para colocar uma animação no seu programa, vou mostrar como exibir uma Gif animada.
Sem muita dor de cabeça, você pode construir uma classe derivada da classe canvas e posteriormente apenas inseri-la aonde achar conveniente.
Vamos a ela em um passo a passo.
- 1 Crie uma Classe nova.
- 1.1 Dê um nome a ela (A minha se chamou CanvasGif)
- 1.2 Atribua “Canvas” como sua super Classe. Assim tudo que um Canvas possui, ela também possuirá.
- 1.3 Adicione a interface “actionNotificationReceiver”, será criado no momento da adição, o método PerformAction. Isso permite q notificações de eventos estejam disponíveis na sua classe (eventos dentro de classes são muito úteis, e essa é a uma boa forma de executá-los).
2 Abra sua nova classe. - 2.1 Crie estas propriedades:Pic() As Picture // Esta conterá os quadros da sua Guif
Index As Integer // Esta, a posição dos quadros exibidos
Relogio As Timer // Esta é derivada da classe time, e será seu temporizador de exibição. - 2.2 No Evento open da sua classe, insira:Relogio = New Timer //Nova instância do relógio
Relogio.Mode = 0 //coloca-o no modo de espera
Relogio.Period = 75 //ajusta os intervalos para 0.75ms - 2.3 Agora crie o seguinte método:Sub Add(Arquivo As String)
Dim f As FolderItem //para manipular arquivos
Dim m As EditableMovie //para ler arquivos de vídeo
//Recebe Arquivo animado
f = GetFolderItem(Arquivo)
//Encerra se o arquivo não existe
if f = nil Then Return
//Abre o arquivo de vídeo no modo de edição
m = f.OpenEditableMovie
Redim Pic(-1) //Zera a lista de imagem
Do until m.EOF 'loop até o fim do arquivo
//adiciona o quadro atual a lista de imagens
Pic.Append m.Picture
//aqui passa para o próximo quadro,
//que está dividido em milissegundos,
//voce pde variar para ver os resultados
m.Position = m.Position + 0.1
loop
//adiciona a notificação de eventos ao relógio
//isso fará com que o relógio dispare o método
//PerformAction a cada pulso
Relogio.addActionNotificationReceiver me
Relogio.Mode = 2 'inicia o Relógio
End sub - 2.4 Agora, no metodo PerformAction, insira://Desenha a imagem na posição 0, 0
me.Graphics.DrawPicture Pic(index),0,0
//volta Index para o inicio quando chegar ao fim
if index = Pic.Ubound then index = -1
index = index + 1 //próximo quadro - 3 Terminamos. Agora é só inserir a sua nova CanvasGif em um Windows e atribuir um caminho de imagem ao método Add
CanvasGif1.Add “d:\felix.gif”
Passos ilustrados:
é isso ai.